【问题标题】:I want my values in a c# list to display this way我希望我在 c# 列表中的值以这种方式显示
【发布时间】:2013-12-11 00:29:20
【问题描述】:

我希望我的列表值以 Console.WriteLine(); 描述的方式永久显示(带有索引符号),所以我可以用这种方式将它们写入文本文件。如何以这种方式对列表进行“排序”。任何答案将不胜感激。提前致谢。伙计们 。这是我的代码:

            List<string> list = new List<string>();
            list.AddRange(words);
            list.AddRange(words1);


            //Displays what word follows each element in the list
            Console.WriteLine("{0},{1}",list[0],list[1]);
            Console.WriteLine("{0},{1}",list[1], list[2]);
            Console.WriteLine("{0},{1}",list[2], list[3]);
            Console.WriteLine("{0},{1}",list[3], list[4]);
            Console.WriteLine("{0},{1}",list[4], list[5]);



            //list.ForEach(Console.WriteLine);






            File.WriteAllLines(@"C:\Users\David\Text.txt", list);//writes list to .txt file

【问题讨论】:

    标签: c# list indexing notation


    【解决方案1】:

    这将从原始列表中创建一个新的List&lt;string&gt; 以满足您的要求:

    var newList = list.Take(list.Count-1)
                      .Select((x,i)=> string.Format("{0},{1}",x[i],x[i+1]))
                      .ToList();
    

    你也可以试试这样的普通for循环,它会直接修改现有的列表:

    for(int i = 0; i < list.Count - 1; i++)
       list[i] = string.Format("{0},{1}", list[i], list[i+1]);
    

    【讨论】:

    • @user3034630 不客气,记得接受对你有帮助的答案:)
    • 完成 :) 再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 2016-12-14
    相关资源
    最近更新 更多