关于类型判断符is和迭代器接口实现中yield return的使用
2012-05-13 14:36
393 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 学习2 { class Program { static void Main(string[] args) { mytest mt = new mytest(); foreach (object element in mt)//由于返回的数值的类型不统一,所以采用object来接受 { if (element is string)//利用is来判断数据的类型再对应处理 { Console.WriteLine(Convert.ToString(element)); } if (element is int) { int sum = Convert.ToInt32(element) + 1; Console.WriteLine(sum); } } } } class mytest { public System.Collections.IEnumerator GetEnumerator() //在类中实现foreach迭代器IEnumerator接口的GetEnumerator方法 { yield return "hello"; //利用yield return依次返回不同的文字和数值 yield return 1; yield return "good"; } } }
is类型判断符MSDN说明:http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(IS_CSHARPKEYWORD);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-CSHARP)&rd=true
注意:is判断符所返回的数值为true或false,并且is对于能强制转换而不引发异常的类型返回true(例如 继承类 is 基类)
class Class1 {} class Class2 {} class Class3 : Class2 { } class IsTest { static void Main() { Class1 c1 = new Class1(); Class2 c2 = new Class2(); Class3 c3 = new Class3(); if(c1 is Class1)//返回 true { } } if(c2 is Class2)//返回 true { } if(c3 is Class2)//返回 true { } } }
相关文章推荐
- TreeSet集合存放自定义类型的对象,可以使用比较器,实现Comparable接口自己设置排序方式
- 关于mybatis 传入基本参数类型使用if test 判断出错的问题
- Face++在线接口在Android下的使用,以及简单的Demo实现(判断两张脸是否为同一个人)
- 关于使用RESTful api上传文件,基于jax rs接口,不是实现
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- 如何使用反射确定一个属性是否实现了IList接口,如何确定元素量为空的集合的元素类型。
- 关于Override在JDK1.5和JDK1.6上子类实现接口中方法使用@Override注解编译错误.
- Ajax的原生实现关于MIME类型的使用方法
- 关于使用阿里云服务调用识别身份证图片、营业执照的信息抓取接口的简单实现
- 关于Java使用接口实现多重继承
- 使用类型的强制转换实现little-endian与big-endian的判断
- Ajax的原生实现关于MIME类型的使用
- 使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- 关于数据类型的判断不使用typeof的精确定位
- swift--使用 is 和 as 操作符来实现类型检查和转换 / AnyObject与Any的区别
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- C#接口实现& is和as的含义与使用
- 写几个带继承关系的类,使用直接强转的方式,以及使用as转换, 并且练习is的类型判断
- 使用boost::enable_if与boost::type_traits在模板中实现对模板类型的接口的限制
- 关于switch语句中使用String类型的实现原理