목차
QueryOperator" >Linq StandardQueryOperator
1 필터 연산자
2 투영 연산자
3개의 정렬 연산자
연산자" >4 연결연산자
연산자" >정량자연산자
7分区操作符
8集合操作符(Set operators)
9元素操作符(Element operators)
聚合操作符(Aggregate operators)" >10聚合操作符(Aggregate operators)
11转换操作符(Conversion operators)
12生成操作符(Generation operators)
附:展示所用到的实体类和数据
选手实体类
选手数据
团队实体类
团队数据
백엔드 개발 C#.Net 튜토리얼 .NET Framework - LINQ9 클래스 연산자에서 사용되는 샘플 코드

.NET Framework - LINQ9 클래스 연산자에서 사용되는 샘플 코드

Mar 20, 2017 pm 12:02 PM

Linq StandardQueryOperator

Language Set Query Ganmge hteg.ratedQuw, LINQ는 C# 프로그래밍 언어의 쿼리 구문을 통합하고 동일한 구문을 사용할 수 있습니다. 다양한 데이터 소스에 액세스하기 위한 것입니다. LINQ는 다양한 데이터 소스에 대한 추상화 계층을 제공하므로 동일한 구문을 사용할 수 있습니다.

1 필터 연산자

필터 연산자는 요소 반환 조건을 정의합니다.

筛选操作符 描述
where 使用谓词,返回布尔值
OfType< TResult> 根据类型筛选元素

응용 사례:
사용법:

 var racers = from r in Formulal.Racers                         
 where r.Wins > 15 && r.Country == "Brazil" select r;
로그인 후 복사

OfType< T> 사용:

object[] data = {"one", 2, "three", 4, 5, "six"};            
var rtnData = data.OfType<string>(); //返回类型为string的数据元素集合
로그인 후 복사

2 투영 연산자

🎜>객체 다른 유형의 새로운 객체로 변환

< /tr>< /thead>
투영 연산자설명
선택

selectMany
投射操作符描述
select
selectMany

사용 예:
사용 선택

var racers = from r in Formulal.Racers
                         where r.Wins > 15 && r.Country == "Brazil"
                         select new
                         {
                             Name = string.Format("{0} {1}", r.FirstName, r.LastName),
                             Country = r.Country,
                             Wins = r.Wins
                         };   //输出为含有Name,Country,Wins共计3个属性的对象集合
로그인 후 복사

selectMany 사용

            var ferrariDrivers = Formulal.Racers.
            SelectMany(r => r.Cars,
            (r, c) => new { Racer = r, Car = c }).
            Where(r => r.Car == "Ferrari").
            OrderBy(r => r.Racer.LastName).
            Select(r => r.Racer.FirstName + " " + r.Racer.LastName);//筛选出驾驶法拉利的选手集合
로그인 후 복사

3개의 정렬 연산자

반환된 요소의 순서 변경

排序操作符描述
OrderBy升序排序
OrderByDescending降序排序
ThenBy第一次排序结果类似,用第二次升序排序
ThenByDescending第一次排序结果类似,用第二次降序排序
Reverse反转集合中元素的顺序

예:

    var racers = from r in Formulal.Racers                          
    where r.Country == "Brazil"
                          orderby r.Wins descending
                          select new
                          {
                              Name = string.Format("{0} {1}", r.FirstName, r.LastName),
                              Country = r.Country,
                              Wins = r.Wins
                          };//国家为巴西,按照胜场次数降序排列
로그인 후 복사

4 연결연산자

는 직접 관련되지 않은 <🎜 집합을 병합하는 데 사용됩니다. >

//Join连接
            //获取冠军年份在2003年后的选手
            var racer5 = from r in Formulal.Racers                
            from y in r.Years                
            where y > 2003
                select new
                {
                    Year = y,
                    Name = string.Format("{0} {1}", r.FirstName, r.LastName)
                };            //获取冠军年份在2003年后的团队
            var team1 = from r in Formulal.ChampionTeams                         
            from y in r.Years                         
            where y > 2003
                         select new
                         {
                             Year = y,
                             Name = string.Format("{0}", r.Name)
                         };            //连接
            var racerAndTeams = from r in racer5                
            join t in team1 on r.Year equals t.Year                
            select new
                {
                    Yearj= r.Year,
                    Racerj = r.Name,
                    Teamj = t.Name
                };
로그인 후 복사
连接运算符描述
Join可以根据键选择器函数连接连接2个集合
GroupJoin连接两个集合,组合其结果
결과:

YearjRacerjTeamj
Yearj=2004Racerj=Michael SchumacherTeamj =Ferrari
Yearj=2005Racerj=Fernando AlonsoTeamj =Renault
Yearj=2006Racerj=Fernando AlonsoTeamj =Renault
Yearj=2007Racerj=Kimi RäikkönenTeamj =Ferrari
Yearj=2008Racerj=Lewis HamiltonTeamj =Ferrari
Yearj=2014Racerj=Lewis HamiltonTeamj =Mercedes
Yearj=2015Racerj=Lewis HamiltonTeamj =Mercedes
Yearj=2009Racerj=Jenson ButtonTeamj =Brawn GP
Yearj=2010Racerj=Sebastian VettelTeamj =Red Bull Racing
Yearj=2011Racerj=Sebastian VettelTeamj =Red Bull Racing
Yearj=2012Racerj=Sebastian VettelTeamj =Red Bull Racing
Yearj=2013Racerj=Sebastian VettelTeamj =Red Bull Racing
5개의 조합 연산자

그룹에 데이터 넣기

组合运算符描述
GroupBy组合有公共键的元素
ToLookUp通过创建一个一对多的字典,来组合元素。
GroupBy 사용 예:

 var countries = from r in Formulal.Racers                            
 group r by r.Country into g                            
 orderby g.Count() descending, g.Key                            
 where g.Count() > 2
                            select new 
                            { 
                                Country = g.Key, 
                                Count = g.Count() 
                            };//获取冠军次数大于2的国家
로그인 후 복사

결과:

CountryCount
UK10
Brazil3
Finland3

그룹화가 여러 필드를 기반으로 해야 하는 경우 다음과 같이 작성해야 합니다.

            //按组合键分组后,每组元素个数大于2的分组,按降序排序
            var rtnByVal1 = from item in dataSource                            
            group item by new { item.Val1, item.Val2 }                                
            into g                                
            where g.Count()>1
                                orderby g.Count() descending
                                select g;            //按Val1和Val2组合为字典键,元素个数为值
            var dict = rtnByVal1.ToDictionary(g=>g.First(),g=>g.Count());
로그인 후 복사

6

정량자연산자

요소 시퀀스가 ​​지정된 조건을 충족하면 수량자 연산자는 부울 값을 반환합니다

< / tr>
합성 연산자설명
모두세트 중 하나라도 조건자를 만족하는지 여부를 결정합니다. 함수
모두

집합의 모든 요소가 조건자 함수를 충족하는지 확인
포함집합에 요소가 존재하는지 확인
            List<int> intList1 = new List<int>(5) {1, 2, 3, 4, 5};           
            bool any3 = intList1.Any(r => r == 3);//确定集合中是否有3,返回true
            bool any0 = intList1.Any(r => r == 0);//确定集合中是否有0,返回false
            bool allMoreZero = intList1.All(r => r > 0);//确定序列中所有元素都满足大于0,返回true
            bool allMore2 = intList1.All(r => r > 2); //返回false
            bool contains3 = intList1.Contains(3); //元素3是否在集合中,true
로그인 후 복사

7分区操作符

分区操作符,返回一个子集。使用它们可以得到部分结果。

分区运算符描述
Take必须制定提取元素的个数
Skip跳过指定的元素个数,提取其他元素
TakeWhile提取条件为真的元素
SkipWhile跳过条件为真的元素
            int pageSize = 5;            
            int numberPages = (int)Math.Ceiling(Formulal.Racers.Count() / (double)pageSize);            
            for (int page = 0; page < numberPages; page++)
            {                var racersPartition =
                    (from r in Formulal.Racers                    
                     orderby r.LastName, r.FirstName                     
                     select r.FirstName + " " + r.LastName).Skip(page * pageSize).Take(pageSize);                       
            }
로그인 후 복사

结果:

Page 0Fernando Alons
Mario Andretti
Alberto Ascari
Jack Brabham
Jenson ButtonPage 1Jim Clark
Juan Manuel Fa
Nino Farina
Emerson Fittipaldi
Mika Hakkinen
Page 2Lewis Hamilton
Mike Hawthorn
Damon Hill
Graham Hill
Phil Hill
로그인 후 복사

8集合操作符(Set operators)

集合操作符返回 一 个集合。除了Distinct之外,其他都需要2个集合。

集合操作符描述
Distinct从集合中删除重复的元素
Union返回出现在其中一个集合中的唯一元素
Intersect交集
Except只出现在一个集合中的元素
Zip通过使用指定的谓词函数合并2个集合

应用举例:

            List<int> intList1 = new List<int>(5) {1, 2, 3, 4, 5,3};            
            List<int> intList2 = new List<int>(3) {2, 5, 0};            
            var delDuplic = intList1.Distinct(); //去重,结果{1,2,3,4,5}
            var unionList = intList1.Union(intList2); //并集,结果{1,2,3,4,5,0}
            var interList = intList1.Intersect(intList2); //交集,结果{2,5}
            var exceptList = intList1.Except(intList2);//差集,结果{1,3,4}
            var exceptList2 = intList2.Except(intList1);//差集,结果{0}
            var unionList2 = intList1.Zip(intList2,((i1, i2) => i1+", "+i2)); 结果:{{1,2}{2,5}{3,0}}
로그인 후 복사

9元素操作符(Element operators)

这些元素操作符仅返回一 个元素。

元素操作符描述
First返回第一个满足条件的元素
FirstOrDefault返回第一个满足条件的元素,但如果没有找到满足条件的元素,就返回类型的默认值
Last返回最后一个满足条件的元素
LastOrDefault返回最后一个满足条件的元素,但如果没有找到满足条件的元素,就返回类型的默认值
ElementAt指定了要返回的元素的位置
ElementAtOrDefault指定了要返回的元素的位置,但如果没有找到满足条件的元素,就返回类型的默认值
Single只返回一个满足条件的元素,如果有多个满足条件,就抛出一个异常。
SingleOrDefault只返回一个满足条件的元素,但如果没有找到满足条件的元素,就返回类型的默认值

应用举例:

List<int> intList1 = new List<int>(5) { 1, 8, 3, 4, 5, 3 };
int firstMore1 = intList1.First(r => r > 1);//结果:8
int firstMore17 = intList1.FirstOrDefault(r => r > 17); //结果:0(因为不存在)
int lastMore3 = intList1.Last(r => r > 3); //结果5
int last = intList1.ElementAt(2); //结果3,(索引从0开始)
로그인 후 복사

10聚合操作符(Aggregate operators)

聚合操作符计算集合的一个值。利用这些聚合操作符 ,可 以计算所有值的总和、所有元
素的个数、值最大和最小的元素 ,以 及平均值等

聚合操作符描述
Count所有值的个数
Sum所有值的综合
Min所有值的的最小值
Max所有值的的最大值
Average所有值的平均数
            public class MyIntClass
            {                
            public string Name { get; set; }                
            public int Integar { get; set; }                
            public MyIntClass(string name, int i)
                {                    
                this.Name = name;                    
                this.Integar = Integar;
                }
            }
            List<MyIntClass> intList1 = new List<MyIntClass>(5) 
            { 
                new MyIntClass("first",1),                
                new MyIntClass("second",8) ,                
                new MyIntClass("third",3) ,                
                new MyIntClass("fourth",4) ,                
                new MyIntClass("fifth",5) ,                
                new MyIntClass("sixth",3) 
            };            
            int count = intList1.Count;            
            int sum = intList1.Sum(r=>r.Integar);            
            int min = intList1.Min(r => r.Integar);            
            int max = intList1.Max(r => r.Integar);            
            double average = intList1.Average(r => r.Integar);
로그인 후 복사

11转换操作符(Conversion operators)

转换操作符将集合转换为数组 :IEnumberable、 IList, IDictionary 等。

Conversion operators描述
ToArray集合转化为Array
AsEnumerable返回类型为IEnumerable< T>
ToList集合转化为List
ToDictionary集合转化为Dictionary
Cast< TResult>映射

还是上面的例子

         IEnumerable<MyIntClass> ienuList = from r in intList1 where r.Integar > 3 select r; //返回默认的IEnumerable集合
         List<MyIntClass> ienuList2 = (from r in intList1 where r.Integar > 3 select r).ToList(); //返回List
         MyIntClass[] ienuList2 = (from r in intList1 where r.Integar > 3 select r).ToArray();//返回数组
         var dict = (from r in intList1 where r.Integar > 3 select r).ToDictionary(r=>r.Name,r=>r.Integar); 
         //字典,key是name, value:Integar
         IEnumerable<MyIntClass> ienuList2 = (from r in intList1 where r.Integar > 3 select r).AsEnumerable();
로그인 후 복사

12生成操作符(Generation operators)

这些生成操作符返回 一 个新集合

Generation operators描述
Empty集合是空的
Range返回一系列数字
Repeat返回始终重复一个值的集合
IEnumerable<int> ints = Enumerable.Range(3, 10);
//{3,4,5,6,7,8,9,10,11,12}IEnumerable<int> emptyInts =  Enumerable.Empty<int>();
//生成一个空集合IEnumerable<int> ints2= Enumerable.Repeat(6,8);//生成8个6的集合
로그인 후 복사

附:展示所用到的实体类和数据

选手实体类

   //选手实体类
   public class Racer 
    {        
    public Racer(string firstName = null, string lastName = null, 
    string country = null, int starts = 0,int wins = 0, IEnumerable<int> years = null, IEnumerable<string> cars = null)
        {            
        this.FirstName = firstName;            
        this.LastName = lastName;            
        this.Country = country;            
        this.Starts = starts;            
        this.Wins = wins;            
        var yearList = new List<int>();            
        if (years != null)
            {                
            foreach (var year in years)
                {
                    yearList.Add(year);
                }                this.Years = yearList.ToArray();
            }            if (cars != null)
            {                var carList = new List<string>();                
            foreach (var car in cars)
                {
                    carList.Add(car);
                }                
                this.Cars = carList.ToArray();
            }           public string FirstName { get; set; }           
            public string LastName { get; set; }           //赢得比赛的次数
           public int Wins { get; set; }           //所属国家
           public string Country { get; set; }           //开始做的年龄
           public int Starts { get; set; }           //车型数组
           public string[] Cars { get; private set; }           //赢得冠军的年份
           public int[] Years { get; private set; }   
         }
      }
로그인 후 복사

选手数据

//选手List
        public static List<Racer> Racers = new List<Racer>(40)
        {         
                new Racer("Nino", "Farina", "Italy", 33, 5, new int[] { 1950 }, new string[] { "Alfa Romeo" }),                new Racer("Alberto", "Ascari", "Italy", 32, 10, new int[] { 1952, 1953 }, new string[] { "Ferrari" }),                new Racer("Juan Manuel", "Fangio", "Argentina", 51, 24, new int[] { 1951, 1954, 1955, 1956, 1957 }, new string[] { "Alfa Romeo", "Maserati", "Mercedes", "Ferrari" }),                new Racer("Mike", "Hawthorn", "UK", 45, 3, new int[] { 1958 }, new string[] { "Ferrari" }),                new Racer("Phil", "Hill", "USA", 48, 3, new int[] { 1961 }, new string[] { "Ferrari" }),                new Racer("John", "Surtees", "UK", 111, 6, new int[] { 1964 }, new string[] { "Ferrari" }),                new Racer("Jim", "Clark", "UK", 72, 25, new int[] { 1963, 1965 }, new string[] { "Lotus" }),                new Racer("Jack", "Brabham", "Australia", 125, 14, new int[] { 1959, 1960, 1966 }, new string[] { "Cooper", "Brabham" }),                new Racer("Denny", "Hulme", "New Zealand", 112, 8, new int[] { 1967 }, new string[] { "Brabham" }),                new Racer("Graham", "Hill", "UK", 176, 14, new int[] { 1962, 1968 }, new string[] { "BRM", "Lotus" }),                new Racer("Jochen", "Rindt", "Austria", 60, 6, new int[] { 1970 }, new string[] { "Lotus" }),                new Racer("Jackie", "Stewart", "UK", 99, 27, new int[] { 1969, 1971, 1973 }, new string[] { "Matra", "Tyrrell" }),                new Racer("Emerson", "Fittipaldi", "Brazil", 143, 14, new int[] { 1972, 1974 }, new string[] { "Lotus", "McLaren" }),                new Racer("James", "Hunt", "UK", 91, 10, new int[] { 1976 }, new string[] { "McLaren" }),                new Racer("Mario", "Andretti", "USA", 128, 12, new int[] { 1978 }, new string[] { "Lotus" }),                new Racer("Jody", "Scheckter", "South Africa", 112, 10, new int[] { 1979 }, new string[] { "Ferrari" }),                new Racer("Alan", "Jones", "Australia", 115, 12, new int[] { 1980 }, new string[] { "Williams" }),                new Racer("Keke", "Rosberg", "Finland", 114, 5, new int[] { 1982 }, new string[] { "Williams" }),                new Racer("Niki", "Lauda", "Austria", 173, 25, new int[] { 1975, 1977, 1984 }, new string[] { "Ferrari", "McLaren" }),                new Racer("Nelson", "Piquet", "Brazil", 204, 23, new int[] { 1981, 1983, 1987 }, new string[] { "Brabham", "Williams" }),                new Racer("Ayrton", "Senna", "Brazil", 161, 41, new int[] { 1988, 1990, 1991 }, new string[] { "McLaren" }),                new Racer("Nigel", "Mansell", "UK", 187, 31, new int[] { 1992 }, new string[] { "Williams" }),                new Racer("Alain", "Prost", "France", 197, 51, new int[] { 1985, 1986, 1989, 1993 }, new string[] { "McLaren", "Williams" }),                new Racer("Damon", "Hill", "UK", 114, 22, new int[] { 1996 }, new string[] { "Williams" }),                new Racer("Jacques", "Villeneuve", "Canada", 165, 11, new int[] { 1997 }, new string[] { "Williams" }),                new Racer("Mika", "Hakkinen", "Finland", 160, 20, new int[] { 1998, 1999 }, new string[] { "McLaren" }),                new Racer("Michael", "Schumacher", "Germany", 287, 91, new int[] { 1994, 1995, 2000, 2001, 2002, 2003, 2004 }, new string[] { "Benetton", "Ferrari" }),                new Racer("Fernando", "Alonso", "Spain", 252, 32, new int[] { 2005, 2006 }, new string[] { "Renault" }),                new Racer("Kimi", "Räikkönen", "Finland", 230, 20, new int[] { 2007 }, new string[] { "Ferrari" }),                new Racer("Lewis", "Hamilton", "UK", 166, 43, new int[] { 2008, 2014, 2015 }, new string[] { "McLaren", "Mercedes" }),                new Racer("Jenson", "Button", "UK", 283, 15, new int[] { 2009 }, new string[] { "Brawn GP" }),                new Racer("Sebastian", "Vettel", "Germany", 156, 42, new int[] { 2010, 2011, 2012, 2013 }, new string[] { "Red Bull Racing" })

        };
로그인 후 복사

团队实体类

    [Serializable]    public class Team
    {        public Team(string name, params int[] years)
        {            this.Name = name;            
        this.Years = years;
        }        public string Name { get; private set; }        
        public int[] Years { get; private set; }
    }
로그인 후 복사

团队数据

        //冠军团队List
        public static List<Team> ChampionTeams = new List<Team>()
        {            new Team("Vanwall", 1958),            
        new Team("Cooper", 1959, 1960),            
        new Team("Ferrari", 1961, 1964, 1975, 1976, 1977, 1979, 1982, 1983, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 
                       2008),            
                       new Team("BRM", 1962),            
                       new Team("Lotus", 1963, 1965, 1968, 1970, 1972, 1973, 1978),            
                       new Team("Brabham", 1966, 1967),            
                       new Team("Matra", 1969),           
                        new Team("Tyrrell", 1971),           
                         new Team("McLaren", 1974, 1984, 1985, 1988, 1989, 1990, 1991, 1998),           
                          new Team("Williams", 1980, 1981, 1986, 1987, 1992, 1993, 1994, 1996, 1997),            
                          new Team("Benetton", 1995),            
                          new Team("Renault", 2005, 2006),            
                          new Team("Brawn GP", 2009),            
                          new Team("Red Bull Racing", 2010, 2011, 2012, 2013),           
                           new Team("Mercedes", 2014, 2015)
        };
로그인 후 복사


위 내용은 .NET Framework - LINQ9 클래스 연산자에서 사용되는 샘플 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 명령에서 '!' 연산자의 8가지 신비한 용도 Linux 명령에서 '!' 연산자의 8가지 신비한 용도 Jun 27, 2023 pm 12:51 PM

'!' 기호를 사용하는 대부분의 Linux 명령 사용법은 셸마다 다를 수 있습니다. 내가 제공하는 예제는 일반적으로 bash 셸에서 사용되지만 일부 다른 Linux 셸에서는 구현이 다를 수도 있고 '!' 기호의 특정 용도를 전혀 지원하지 않을 수도 있습니다. Linux 명령에서 '!' 기호의 놀랍고 신비한 용도에 대해 살펴보겠습니다. 1. 명령 번호를 사용하여 기록에서 명령을 실행합니다. 여러분이 알지 못할 수도 있는 것은 명령 기록에서 명령(이미 실행된 명령)을 실행할 수 있다는 것입니다. 먼저 'history' 명령을 실행하여 명령 번호를 찾습니다. linuxmi@linuxmi:~/www.linuxmi.

PHP의 모듈로 등호 연산자 사용법에 대해 자세히 알아보세요. PHP의 모듈로 등호 연산자 사용법에 대해 자세히 알아보세요. Mar 19, 2024 pm 12:54 PM

모듈로 등호 연산자(%)는 PHP에서 매우 일반적으로 사용되는 연산자이며 두 숫자를 나눈 나머지를 계산하는 데 사용됩니다. 이 기사에서는 모듈식 같음 연산자의 사용법을 더 자세히 살펴보고 독자의 이해를 돕기 위해 구체적인 코드 예제를 제공합니다. 먼저 간단한 예를 살펴보겠습니다. 한 숫자를 다른 숫자로 나눈 나머지를 계산해야 합니다. $a=10;$b=3;$remainder=$a%$b;echo"10 나누기 3 나머지 이다: &

연산자 사용법의 SQL 연산자 사용법의 SQL Aug 04, 2023 pm 03:58 PM

SQL 연산자 사용: 1. 단일 열 일치, IN 연산자를 사용하여 열의 여러 값 일치. 2. 다중 열 일치, IN 연산자를 사용하여 여러 열의 값 일치; 3. 하위 쿼리, IN 연산자는 기본 쿼리 내에 중첩된 쿼리 문인 하위 쿼리와 함께 사용할 수도 있습니다.

.NET DEEP DIVE : 비동기 프로그래밍, LINQ 및 EF Core 마스터 링 .NET DEEP DIVE : 비동기 프로그래밍, LINQ 및 EF Core 마스터 링 Mar 31, 2025 pm 04:07 PM

.NET 비동기 프로그래밍, LINQ 및 EFCORE의 핵심 개념은 다음과 같습니다. 1. 비동기 프로그래밍은 비동기 및 대기하는 응용 프로그램 응답 성을 향상시킵니다. 2. LINQ는 Unified Syntax를 통해 데이터 쿼리를 단순화합니다. 3. Efcore는 ORM을 통해 데이터베이스 작업을 단순화합니다.

C/C++에서 연산자 c=a++bb의 의미는 무엇입니까? C/C++에서 연산자 c=a++bb의 의미는 무엇입니까? Sep 01, 2023 pm 04:29 PM

C나 C++에도 비슷한 문장이 있다고 생각해 봅시다: c=a+++b; 그러면 이 코드 줄의 의미는 무엇입니까? 좋아요, a와 b를 각각 2와 5로 둡니다. 이 표현은 두 가지 다른 유형으로 볼 수 있습니다. c=(a++)+bc=a+(++b) 에는 후위 증가 연산자와 전위 증가 연산자가 있습니다. 사용 방법은 사용 방법에 따라 다릅니다. 두 가지 기본 개념이 있습니다. 우선순위와 연관성. 이제 왼쪽에서 오른쪽으로 표현식을 확인하면 결과는 다음 두 개가 됩니다. c=(a++)+b→2+5=7c=a+(++b)→2+6=8 이제 컴파일러가 어떤 옵션을 선택했는지 확인해 보겠습니다. - 예제 코드 #include<io

php7에 두 개의 새로운 연산자가 추가되었습니다: '?->' 및 '??' php7에 두 개의 새로운 연산자가 추가되었습니다: '?->' 및 '??' Mar 21, 2023 pm 03:49 PM

이전 PHP 버전에서는 변수를 정의하지 않은 경우 변수를 직접 사용하면 정의되지 않은 변수 오류가 발생했습니다. 그러나 PHP7에서는 이 문제를 피하기 위해 몇 가지 새로운 기능을 사용할 수 있습니다. 이러한 새로운 기능에는 ?-> 및 ??라는 두 가지 새로운 연산자가 포함됩니다. 그들은 각각 두 가지 유형의 문제를 해결할 수 있습니다.

new 연산자는 js에서 어떻게 작동하나요? new 연산자는 js에서 어떻게 작동하나요? Feb 19, 2024 am 11:17 AM

js의 new 연산자는 어떻게 작동하나요? 구체적인 코드 예제가 필요합니다. js의 new 연산자는 객체를 생성하는 데 사용되는 키워드입니다. 그 기능은 지정된 생성자를 기반으로 새 인스턴스 개체를 만들고 개체에 대한 참조를 반환하는 것입니다. new 연산자를 사용할 때 실제로 다음 단계가 수행됩니다. 빈 개체의 프로토타입을 생성자의 프로토타입 개체에 지정하고 생성자의 범위를 새 개체에 할당합니다. 객체) 생성자에서 코드를 실행하고 새 객체를 제공합니다.

PHP 오류 해결 방법: 잘못된 연산자? PHP 오류 해결 방법: 잘못된 연산자? Aug 25, 2023 pm 02:21 PM

PHP 오류 해결 방법: 잘못된 연산자? PHP 프로젝트를 개발하고 유지 관리할 때 다양한 오류가 자주 발생하는데, 그 중 하나가 "잘못된 연산자"입니다. 이 오류는 일반적으로 코드에 잘못된 연산자가 사용되어 PHP가 해당 작업을 올바르게 인식하고 수행할 수 없음을 나타냅니다. 이 문서에서는 이 오류를 발생시키는 몇 가지 일반적인 상황을 소개하고 해당 솔루션을 제공합니다. 잘못된 연산자 사용 PHP 코드를 작성할 때 실수로 잘못된 연산자를 사용하여 다음과 같은 결과가 발생할 수 있습니다.

See all articles