最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linq中的限定操作符

 更新時(shí)間:2022年03月10日 11:50:20   作者:.NET開發(fā)菜鳥  
這篇文章介紹了linq中的限定操作符,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

限定操作符運(yùn)算返回一個(gè)Boolean值,該值指示序列中是否有一些元素滿足條件或者是否所有元素都滿足條件。

一、All操作符

All方法用來確定是否序列中的所有元素都滿足條件??聪旅娴睦樱?/p>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimitOperation
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] source1 = new string[] { "A", "B", "C", "D", "E", "F" };

            string[] source2 = new string[] { "A", "A", "A", "A", "A", "A" };

            Console.WriteLine(source1.All(w => w == "A")); //輸出"False"

            Console.WriteLine(source2.All(w => w == "A")); //輸出 "True"

            Console.ReadKey();
        }
    }
}

結(jié)果:

二、Any操作符

先來看看Any的定義:

從定義中可以看出:Any有兩個(gè)重載方法。Any方法的無參方式用來確定序列是否包含任何元素。Any方法的有參方式用來確定序列中是否有元素滿足條件。只要有一個(gè)元素符合指定條件即返回true,如果一個(gè)符合指定條件的元素都沒有則返回false??聪旅娴睦樱?/p>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimitOperation
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] source1 = new string[] { "A", "B", "C", "D", "E", "F" };
            string[] source2 = new string[] { "A", "A", "A", "A", "A", "A" };
            Console.WriteLine(source1.Any()); // 輸出"True"
            Console.WriteLine(source1.Any(w => w == "A")); //輸出 "True"
            Console.WriteLine(source2.Any(w => w == "G")); //輸出 "False"
            Console.ReadKey();
        }
    }
}

結(jié)果:

三、Contains操作符

Contains方法用來確定序列是否包含滿足指定條件的元素。如果有返回true,否則返回false??聪旅娴睦樱?/p>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimitOperation
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] source1 = new string[] { "A", "B", "C", "D", "E", "F" };

            Console.WriteLine(source1.Contains("A")); //輸出 "True"

            Console.WriteLine(source1.Contains("G")); //輸出 "False"

            Console.ReadKey();
        }
    }
}

結(jié)果:

Contains還有另外一個(gè)重載的方法,看定義:

public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value, IEqualityComparer<TSource> comparer);

該重載方法的參數(shù)是一個(gè)實(shí)現(xiàn)IEqualityComparer<TSource>接口的類型??聪旅娴睦印?/p>

定義實(shí)現(xiàn)IEqualityComparer<TSource>接口的類型:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimitOperation
{
    /// <summary>
    /// EqualityComparerEquals類實(shí)現(xiàn)IEqualityComparer接口
    /// </summary>
    public class EqualityComparerEquals : IEqualityComparer<string>
    {
        public bool Equals(string x, string y)
        {
            return x == y;
        }
        public int GetHashCode(string obj)
        {
            return obj.ToString().GetHashCode();
        }
    }
}

方法中調(diào)用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimitOperation
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] source1 = new string[] { "A", "B", "C", "D", "E", "F" };

            var comparer = source1.Contains("F", new EqualityComparerEquals());
            Console.WriteLine(comparer); //輸出"True"
            Console.ReadKey();
        }
    }
}

結(jié)果:

注意:在自定義的類中,x相當(dāng)于數(shù)組中的每一個(gè)元素,y是要比較的元素:F。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

石嘴山市| 上栗县| 大英县| 新巴尔虎右旗| 英吉沙县| 招远市| 博客| 小金县| 胶州市| 张掖市| 丽江市| 万宁市| 长垣县| 乌兰浩特市| 海南省| 徐水县| 钟祥市| 抚顺市| 茶陵县| 南溪县| 延边| 宣恩县| 蒙山县| 阜新| 台中市| 运城市| 徐州市| 朝阳县| 陵川县| 阿荣旗| 阿巴嘎旗| 温州市| 寻乌县| 亳州市| 嘉定区| 宣化县| 通道| 三穗县| 衡南县| 宝清县| 屏东市|