【问题标题】:Converting a list of Strings to an array using .ToArray()使用 .ToArray() 将字符串列表转换为数组
【发布时间】:2013-01-05 04:34:54
【问题描述】:

在使用.ToArray() 函数时,是否有必要隐式定义数组的大小以保存要转换的列表中的字符?

String [] array = List.ToArray();

我尝试这样做是因为我需要使用数组的.GetValue() 功能,但是,数组保持大小为 1 并且不保存列表中的材料。我是否尝试错误地使用.ToArray()

colAndDelimiter = new List<string>();
colAndDelimiter.Add(text);

String [] cd = colAndDelimiter.ToArray();

这是我拥有的所有影响数组的代码。当我Console.WriteLine() 列表时,它给了我整个文本。我可能对列表的工作方式感到困惑。是否将所有内容都存储为单个项目,这就是数组只显示一个位置的原因?

【问题讨论】:

  • 您是否进行了调试以确保列表肯定包含多个项目?
  • 你做对了,其他的就错了
  • 代码看起来不错,你能发布一个更完整的例子来说明你的问题吗?
  • 列表包含什么?你能告诉我们列表是什么样的吗
  • 你想分割字符吗?如果是这样你可以做 text.ToArray()

标签: c# toarray iqueryable.toarray


【解决方案1】:

您无需将其转换为数组即可获取特定字符。

只需使用text[index] 即可获取所需的字符。

如果你真的需要它作为一个数组,请使用String.ToCharArray() - 你想要一个char 的数组而不是string 的数组。

编辑:

它是否将所有内容都存储为单个项目,这就是数组只显示一个位置的原因?

是的,是的。您正在制作一个 strings 列表,其中包含一个 stringtext 的全部内容 - 您似乎想要将它逐个字母拆分,这就是上述方法将实现的。

【讨论】:

    【解决方案2】:

    它应该可以正常工作,但请尝试使用 var 运算符以确保。

    var array = List.ToArray();
    

    是否有理由使用Array.GetValue 而不是List&lt;T&gt; 本身的内置函数 例如:

     string value = List.ElementAt(1);
     var values = List.GetRange(0, 5);
    

    【讨论】:

      【解决方案3】:

      您正在做的很好.. 但是可以说您不确定 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(',');
      

      【讨论】:

        【解决方案4】:

        只要您的 List 对象是某个包含项目的 IEnumerable(或类似),这确实应该将您的 List 转换为 Array。

        请注意,一旦您创建了这个数组,将元素添加到 List 不会也将其添加到数组中

        【讨论】:

          猜你喜欢
          • 2012-04-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-14
          • 1970-01-01
          • 1970-01-01
          • 2011-07-11
          相关资源
          最近更新 更多