zoukankan      html  css  js  c++  java
  • c#中ofType的用法

    原文:http://www.cnblogs.com/Janzen/p/5128749.html

    该关键字主要用在非泛型到泛型之间的转化,在有些场合还是很有用的;比如:在使用非泛型的时候,想使用LINQ表达式进行结果查询

    场景一:声明非泛型数组

    System.Collections.ArrayList fruits = new System.Collections.ArrayList(5);
    fruits.Add("Mango");
    fruits.Add("Orange");
    fruits.Add("Apple");
    
    fruits.Add(32);
    fruits.Add("Banana");

    若我们想得到含有“n”字母的水果,则使用如下方式

    现将fruits转化为兼容 IEnumerable<T>的类型

    var query = fruits.OfType<string>(); //只取出满足 string 的对象;

    在使用LINQ表达式即可完成目的:

    var result= from c in query where c.contain("n") select c;

    场景二:当数据库的表存在继承关系(Infomations为基表,Docments为子表)

    通过基表的Id,查询并返回子表的数据,

    返回类型为子表:

    这种方法适用于多个类的通用属性很多,差异属性比较少的情况,且数据量不是极大的情况下,

    因为在数据库中,基类表和子表存储在不同的表中,此操作其实本质是关联查询,在数据量特别大,查询效率会受影响。

  • 相关阅读:
    雷锋依然在人间 工厂方法模式
    为别人做嫁衣 代理模式
    穿什么有这么重要? 装饰模式
    437. Path Sum III
    434. Number of Segments in a String
    447. Add Strings
    414. Third Maximum Number
    412. Fizz Buzz
    404. Sum of Left Leaves
    405. Convert a Number to Hexadecimal
  • 原文地址:https://www.cnblogs.com/likui-bookHouse/p/9645150.html
Copyright © 2011-2022 走看看