c# – 迭代元组中的项目

我有三个循环的方法:

    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);
        }
    }

是否可以只使用一个循环来打印屏幕上列表内容的所有项目?

解决方法:

当然,您可以将所有列表连接成一个对象或字符串项目序列,但这种串联不会使您的代码更具可读性.但您可以创建简单的扩展方法,将任何序列的内容转储到控制台:

public static void Dump<T>(this IEnumerable<T> source)
{
    foreach(var item in source)
       Console.WriteLine(item);
}

你的代码看起来像(根本没有循环):

public void Print(Tuple<List<DateTime>, List<double>, List<string>> dataToPrint)
{
    dataToPrint.Item1.Dump();
    dataToPrint.Item2.Dump();
    dataToPrint.Item3.Dump();
}

我还将使用命名参数,自定义类型或值元组将这三个值传递给方法.

上一篇:python – 在元组中添加元素


下一篇:UBIFS文件系统简介 与 利用mkfs.ubifs和ubinize两个工具制作UBI镜像 (完整理解版本)