c# - 为什么我要使用 Enumerable.ElementAt() 而不是 [] 运算符?

标签 c#

这似乎是一个愚蠢的问题,但我还没有找到答案,所以就在这里。 :)

在这两种情况下,如果您未能检查集合的边界,您将得到一个“超出范围”的异常。这只是编码风格偏好吗?

如果有人需要示例:

List<byte> myList = new List<byte>(){0x01, 0x02, 0x03};
byte testByte = myList.ElementAt(2);

对比

byte testByte = myList[2];

最佳答案

因为Enumerable更通用,用enumerable表示的集合可能没有索引器。

但是,如果确实如此 - 不要使用 ElementAt() 它可能不会那么高效。

关于c# - 为什么我要使用 Enumerable.ElementAt() 而不是 [] 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5326874/

相关文章:

c# - 通过 TextBox 在 DataGrid 中搜索

c# - 遍历一个列表,执行一个方法: Extension possible?

c# - 如何使用 C# 对 Picasa 网络相册数据 API 进行 OAuth2 身份验证?

c# - 为什么通过 ASP.NET 方法运行查询比 native SQL 花费更长的时间?

c# - 将包含整数的字符串解析为 List<int>

c# - 我可以看到 SQL/正在使用 L2S 有效地更新多条记录吗?

c# - 如何在java中重新初始化int数组

c# - 所以我从来没有完全理解使用 Private 的好处

c# - Linq order by decimal 字段像字符串一样排序?

c# - 从文件夹中获取预制件然后转换为列表<GameObject>