混淆使用yield关键字

时间:2018-06-06 13:32:09

标签: c#

我是c#的新手。我已经阅读了很多关于import os parent_folder = 'C:/.../Downloads/test_folder' subfolders = os.listdir(parent_folder) for subfolder in subfolders: in_file = open(parent_folder+'/'+ subfolder+'/metadump.xml') contents = in_file.read() in_file.close() title = re.search('<dc:title rsfieldtitle="Title" rsembeddedequiv="Name" rsfieldref="8" rsfieldtype="0">(.+?)</dc:title>', contents).group(1) print(title) 关键字但仍然不理解其用法的示例,所以我创建了一个示例,以帮助我理解它。这是使用yield返回的类:

yield

我称之为:

public  IEnumerable<int> returnWithYeil()
{
    List<int> testList = new List<int> {5,6,7,8,9,10 };                    
    foreach (int i in testList)
    {
        if (i > 6)
        {
            yield return i;
        }
    }
}

这是一个不使用yield的方法:

 foreach (var number in cls.returnWithYeil())
        Console.WriteLine(number.ToString());

我称之为:

public IEnumerable<int> returnWithoutYeiled()
{
    List<int> testList = new List<int> { 5, 6, 7, 8, 9, 10 };
    List<int> temp = new List<int>();
    foreach (int  item in testList)
    {
        if (item > 6)
        {
            temp.Add(item);
        }
    }

    return temp;
}

0 个答案:

没有答案