You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取List中的值?附C#代码示例及输出解析

如何获取C# List中的值(结合你的代码示例)

我来结合你提供的这段C#代码,详细讲讲获取List元素值的常用方法:

1. 通过索引器(你的代码里用到的方式)

你的代码里用了for循环配合List的索引器来逐个获取元素值,这是最基础的方式之一:

先看这段核心代码:

for (int i = 0; i < list.Count; i++) {
    s1 += list[i].r;
    s1 += ",";
}

这里的关键逻辑:

  • list.Count:获取List的总元素数量,用来控制循环的边界,确保不会出现索引越界的问题。
  • list[i]:通过索引器访问List中第i个位置的元素(注意C#里List的索引从0开始,第一个元素索引是0,最后一个元素的索引是list.Count - 1)。
  • .r:你的List是bc_gametable_history_list类型,它的元素应该是一个包含r属性的自定义类/结构体,拿到元素后,通过.r就能获取该元素对应的具体值(也就是你输出里的P、B、T这些游戏记录标识)。

这种方式适合需要明确知道元素索引位置的场景,比如要按顺序处理特定位置的元素时。

2. 使用foreach循环(更简洁的遍历方式)

如果你不需要关心元素的索引,只需要遍历所有元素获取值,foreach循环会更简洁,不需要手动管理索引变量:

把你的循环改成foreach的写法会是这样:

string s1 = "";
foreach (var historyItem in list) {
    s1 += historyItem.r;
    s1 += ",";
}

这里historyItem会自动依次取List中的每个元素,直接访问它的r属性就能拿到对应的值,代码更易读,也避免了手动控制索引可能出现的越界错误。

关于你的代码输出

你看到的输出This is a new history 1 = P ,B ,B ,P ,P ,B ,P ,T ,B ,B ,B ,P ,P ,TP ,B P,PP...,本质就是通过循环把List中每个元素的r属性值拼接成字符串后打印出来,每个r的值对应了游戏历史记录里的结果标识。

内容的提问来源于stack exchange,提问作者Ginxxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:40:37