簡體   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