繁体   English   中英

C# 如何将字符串值存储在循环输出的列表中

[英]C# How to store string values in a list outputted from a loop

问:如何捕获string list的数据。 循环之后呢? 因此,我可以在方法的其他地方使用列表变量。

目标:控制台的 output 需要包含它所持有的值(即字母)。 function 只运行一次。 在我的进步中......当我在foreach循环中循环我的列表也就是我的字符串值时,我想要/期望的结果几乎发生了。 但是,我只想要一次 output 数据......所以最好使用for循环(因为它只运行一次。)

我相信解决我的难题的最简单方法是添加另一个for loop来遍历现有列表。 然后打印index + 1和该索引处的值以找到解决方案。 但我有问题。

预期 output(只循环运行一次)

ABC
DEF
GHI
JKL
MNO

示例代码:

            var FriendsList = new List<string>();
            foreach (var friends in Obj.users)
            {
                FriendsList.Add(friend.user);

                foreach (var i in FriendsList)
                {
                    Trace.WriteLine(i);
                }

            }

不受欢迎的 output 示例:

001
001
002
001
002
003
001
002
003
004
001
002
003
004
005

我不认为这是一个好的解决方案

//Using Linq to itterate over an array
var Arr = new string[4] {"one", "Two", "Three", "Four"};
Trace.WriteLine(Arr.Select((s, i) => $"Item no: {i + 1}, Value: {s}"));

太浪费了。

感谢您的帮助。 请举例说明。

每次您在Obj中读取一个值时,您都会打印出全新的 List FriendsList而这不是您所期望的......

以这种方式捕获数据是正确的,但不是您想要打印它们的方式,您可以简单地捕获它们并打印friend object 值。

var FriendsList = new List<string>();
foreach (var friend in Obj.users)
{
 FriendsList.Add(friend.user);
 Console.WriteLine("{0}: {1}", friend, friend.user);
}

否则你可以在 foreach 循环之后使用这个 function

var FriendsList = new List<string>();
foreach (var friend in Obj.users)
{
 FriendsList.Add(friend.user);
}

FrindsList.ForEach(Console.WriteLine);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM