如何获取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
相关产品推荐
相关产品推荐

