博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
//yield return用于无缝实现迭代模式。
阅读量:6989 次
发布时间:2019-06-27

本文共 1127 字,大约阅读时间需要 3 分钟。

ExpandedBlockStart.gif
代码
 
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);
        }

 

转载于:https://www.cnblogs.com/hubcarl/archive/2010/04/07/1706357.html

你可能感兴趣的文章
Office365 SKU-1
查看>>
centos 7
查看>>
java获取路径的方法
查看>>
Android:Activity(八):Fragment的生命周期
查看>>
通过JDBC向数据库中存储&读取Blob数据
查看>>
NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
查看>>
2019年我国云计算行业存在的问题和发展趋势
查看>>
利用ARP欺骗另一台电脑并偷窥
查看>>
第一周作业
查看>>
第六章 总结
查看>>
内置模块(二)
查看>>
C编程技巧
查看>>
week5
查看>>
Unity3D常用网络框架与实战解析 学习
查看>>
继承(原型链继承)
查看>>
如何利用 Visual Studio 自定义项目或工程模板(转载)
查看>>
java.lang.Object底层代码分析-jdk1.8
查看>>
获取函数所在模块的方法
查看>>
Linux信号处理
查看>>
VS预定义宏
查看>>