zoukankan      html  css  js  c++  java
  • (转)数组使用contains

    数组使用contains

    今天发现一个怪问题,同样是.net3.5环境下的两个项目,一个里支持arr.contains("1"),一个就不支持,代码完全相同也不行.有时在不支持项目里加新文件支持,但有时又不支持,发现在支持的项目里contains的注释是<extension>方法,但是查不出在哪定义的.

    在网上查到一段代码,虽然和这不太一样,但是可以使数组使用contains

    数组有Contains方法,在.NET Framework 2.0 版中,Array 类实现ICollection<T>接口,但必须如下书写代码:   1.string[] ss = new string[] { "1", "2" }; 2.bool b = (ss as ICollection<string>).Contains("1");

    MSDN中说明如下: 在.NET Framework 2.0 版中,Array 类实现 System.Collections.Generic.IList<T>、System.Collections.Generic.ICollection<T> 和 System.Collections.Generic.IEnumerable<T> 泛型接口。由于实现是在运行时提供给数组的,因而对于文档生成工具不可见。因此,泛型接口不会出现在 Array 类的声明语法中,也不会有关于只能通过将数组强制转换为泛型接口类型(显式接口实现)才可访问的接口成员的参考主题。将某一数组强制转换为这三种接口之一时需要注意的关键一点是,添加、插入或移除元素的成员会引发 NotSupportedException。

    下例的第二种方法是上文里讲到的三种方法之一.

    C#中怎么判断一个数组中是否存在某个数组值

    (1) 第一种方法:

    int[] ia = {1,2,3}; int id = Array.IndexOf(ia,1); // 这里的1就是你要查找的值 if(id==-1)   // 不存在 else   // 存在

    (2) 第二种方法:

    string[] strArr = {"a","b","c","d","e"}; bool exists = ((IList)strArr).Contains("a"); if(exists)   // 存在 else   // 不存在

    注意: 用IList需要using System.Collections;

  • 相关阅读:
    用nodejs的express框架在本机快速搭建一台服务器
    Python版求数组的最大连续区间
    简洁的python测试框架——Croner
    中国有嘻哈——押韵机器人
    服务端测试环境hosts配置检查脚本
    手机客户端软件测试用例设计模板
    【Tomcat】压力测试和优化
    【Tomcat】详解tomcat的连接数与线程池
    【RabbitMQ】2、心得总结,资料汇总
    【高并发解决方案】7、HAProxy安装和配置
  • 原文地址:https://www.cnblogs.com/wangyt223/p/3214248.html
Copyright © 2011-2022 走看看