使用 将字符串列表转换为数组.ToArray()
本文关键字:数组 ToArray 转换 字符串 列表 使用 | 更新日期: 2023-09-27 17:55:20
使用 .ToArray()
函数时,是否有必要隐式定义数组的大小以保存要转换的列表中的字符?
String [] array = List.ToArray();
我尝试这样做是因为我需要使用数组的.GetValue()
能力,但是,数组保持 1 的大小并且不保留列表中的材料。我是否尝试错误地使用.ToArray()
?
colAndDelimiter = new List<string>();
colAndDelimiter.Add(text);
String [] cd = colAndDelimiter.ToArray();
这是我拥有的所有影响数组的代码。当我Console.WriteLine()
列表时,它给了我整个文本。我可能对列表的工作原理感到困惑。它是否将所有内容存储为单个项目,这就是为什么数组只显示一个位置的原因?
您无需将其转换为数组即可取出特定字符。
只需使用text[index]
即可获得所需的字符。
如果您确实需要它作为数组,请使用 String.ToCharArray()
- 您想要一个char
数组而不是string
数组。
编辑:
是的它是否将所有内容存储为单个项目,这就是为什么数组只显示一个位置的原因?
,是的。您正在制作一个包含string
string
的列表:text
的全部内容 - 您似乎想要的是将其逐个字母拆分,这就是上述方法将实现的目标。
它应该可以正常工作,但请尝试使用var
运算符来确定。
var array = List.ToArray();
是否有理由使用 Array.GetValue
而不是List<T>
本身的内置函数例如:
string value = List.ElementAt(1);
var values = List.GetRange(0, 5);
你正在做的事情很好......但假设你不确定 string[] cd
,您可以执行以下操作
var colAndDelimiter = new List<string>();
colAndDelimiter.Add(text);
String[] cd = { };
cd = colAndDelimiter.ToArray();
查找数据在 CD 中的位置 字符串值 = cd[0];
更新:如果要根据存储在一行中的值执行此操作,则可以执行此操作,而无需将cd
变量声明为string[] cd;
var colAndDelimiter = new List<string>();
colAndDelimiter.Add("Hello, World, Week, Tuesday");
var cd = colAndDelimiter[0].Split(',');
只要你的List
对象是一些包含项目的 IEnumerable(或类似),这确实应该将你的 List 转换为数组。
请注意,创建此数组后,将元素添加到列表不会同时将其添加到数组中