//yield return用于无缝实现迭代模式。
生活随笔
收集整理的这篇文章主要介绍了
//yield return用于无缝实现迭代模式。
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
代码 public class YieldReturn
{
//yield return用于无缝实现迭代模式。
string[] strArr;
public YieldReturn(params string[] arr)
{
strArr = new string[arr.Length];
arr.CopyTo(strArr, 0);
}
//-------一个枚举对象可以对应多个枚举
/// <summary>
/// 反序输出
/// </summary>
public IEnumerable<string> Reverse
{
get
{
for (int i = strArr.Length - 1; i >= 0; i--)
yield return strArr[i];
}
}
/// <summary>
/// 顺序输出
/// </summary>
public IEnumerable<string> PosEven
{
get
{
for (int i=0;i<strArr.Length; i++)
yield return strArr[i];
}
}
public IEnumerable<string> Concat
{
get
{
foreach (string s in Reverse)
yield return s;
foreach (string s in PosEven)
yield return s;
}
}
}
实现:
public static void yieldreturn()
{
YieldReturn yr = new YieldReturn("aaa", "bbb", "ccc");
Console.WriteLine("-----Reverse:");
foreach (string s in yr.Reverse)
Console .WriteLine (s);
Console.WriteLine("-----PosEven:");
foreach (string s in yr.PosEven)
Console.WriteLine(s);
Console.WriteLine("-----Concat:");
foreach (string s in yr.Concat)
Console.WriteLine(s);
}
{
//yield return用于无缝实现迭代模式。
string[] strArr;
public YieldReturn(params string[] arr)
{
strArr = new string[arr.Length];
arr.CopyTo(strArr, 0);
}
//-------一个枚举对象可以对应多个枚举
/// <summary>
/// 反序输出
/// </summary>
public IEnumerable<string> Reverse
{
get
{
for (int i = strArr.Length - 1; i >= 0; i--)
yield return strArr[i];
}
}
/// <summary>
/// 顺序输出
/// </summary>
public IEnumerable<string> PosEven
{
get
{
for (int i=0;i<strArr.Length; i++)
yield return strArr[i];
}
}
public IEnumerable<string> Concat
{
get
{
foreach (string s in Reverse)
yield return s;
foreach (string s in PosEven)
yield return s;
}
}
}
实现:
public static void yieldreturn()
{
YieldReturn yr = new YieldReturn("aaa", "bbb", "ccc");
Console.WriteLine("-----Reverse:");
foreach (string s in yr.Reverse)
Console .WriteLine (s);
Console.WriteLine("-----PosEven:");
foreach (string s in yr.PosEven)
Console.WriteLine(s);
Console.WriteLine("-----Concat:");
foreach (string s in yr.Concat)
Console.WriteLine(s);
}
转载于:https://www.cnblogs.com/hubcarl/archive/2010/04/07/1706357.html
总结
以上是生活随笔为你收集整理的//yield return用于无缝实现迭代模式。的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: asp.net mvc的初学
- 下一篇: LINQ之路系列博客后记