Chr*_*ris 3 c# loops tuples console-application
我有三个循环的方法:
public void Print(Tuple<List<DateTime>, List<double>, List<string>> dataToPrint)
{
foreach (var item in dataToPrint.Item1)
{
Console.WriteLine(item);
}
foreach (var item in dataToPrint.Item2)
{
Console.WriteLine(item);
}
foreach (var item in dataToPrint.Item3)
{
Console.WriteLine(item);
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以只使用一个循环来打印屏幕上列表内容的所有项目?
当然,您可以将所有列表连接成一个object
或多个string
项目序列,但这种连接不会使您的代码更具可读性.但您可以创建简单的扩展方法,将任何序列的内容转储到控制台:
public static void Dump<T>(this IEnumerable<T> source)
{
foreach(var item in source)
Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)
你的代码看起来像(根本没有循环):
public void Print(Tuple<List<DateTime>, List<double>, List<string>> dataToPrint)
{
dataToPrint.Item1.Dump();
dataToPrint.Item2.Dump();
dataToPrint.Item3.Dump();
}
Run Code Online (Sandbox Code Playgroud)
我还将使用命名参数,自定义类型或值元组将这三个值传递给方法.
归档时间: |
|
查看次数: |
1542 次 |
最近记录: |