新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linq簡單的查詢,擴展方法
----------------------------------------------------Racer.cs

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的奎文網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApplication1
{
[Serializable]
public class Racer:IComparable,IFormattable
{
public string FirstName { get; private set; }//第一個武將
public string LastName { get; private set; }//第二個武將
public int Wins { get; private set; }//贏得次數(shù)
public string Country { get; private set; }//國家
public int Starts { get; private set; }//開始
public string[] Arms { get; private set; }//武器
public int[] Years { get; private set; }//年份
public Racer(string firstname = "", string lasename = "", int wins = 0, string country = "", int starts = 0, IEnumerable Arms = null, IEnumerable years = null)
{
this.FirstName = firstname;
this.LastName = lasename;
this.Wins = wins;
this.Country = country;
this.Starts = starts;
List LArms = new List();
foreach (var item in Arms)
{
LArms.Add(item);
}
this.Arms = LArms.ToArray();
List Lyears = new List();
foreach (var item in years)
{
Lyears.Add(item);
}
this.Years = Lyears.ToArray();
}
public int CompareTo(Racer other)
{
if (other == null) throw new ArgumentNullException("對象不能為空");
return this.Wins.CompareTo(other.Wins);
}
public string ToString(string format, IFormatProvider formatProvider)
{
switch (format)
{
case "":
return ToString();
case "C":
StringBuilder sb = new StringBuilder();
foreach (var item in Arms)
{
sb.Append(item + ",");
}
return sb.ToString().TrimEnd(',');
case "Y":
StringBuilder sb2 = new StringBuilder();
foreach (var item in Years)
{
sb2.Append(item + ",");
}
return sb2.ToString().TrimEnd(',');
default:
return ToString();
}
}
public override string ToString()
{
return string.Format("第一個賽手:{0},最后一個賽手:{1},贏的次數(shù):{2},國家:{3},開始:{4}",this.FirstName,this.LastName,this.Wins.ToString(),this.Country,this.Starts.ToString());
}
}
} ----------------------------------------------------Team.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class Team
{
public string Name { get; private set; }//團(tuán)隊名稱
public int[] Years { get; private set; }
public Team(string name,params int[] years)
{
this.Name = name;
this.Years = years;
}
}
}----------------------------------------------------Formula.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public static class Formula
{
private static List racers;
private static List team;
public static IList GetChampions()
{
if (racers == null)
{
racers = new List();
racers.Add(new Racer("張飛", "關(guān)羽", 100, "蜀國", 10, new string[] { "丈八蛇矛", "青龍偃月刀" }, new int[] { 200, 201, 202 }));
racers.Add(new Racer("黃忠", "魏延", 80, "蜀國", 10, new string[] { "穿楊弓", "大***" }, new int[] {203}));
racers.Add(new Racer("許褚", "典韋", 95, "魏國", 10, new string[] { "大鐵錘", "雙戟" }, new int[] { 195, 212 }));
racers.Add(new Racer("張遼", "徐晃", 90, "魏國", 10, new string[] { "長把子刀", "長把子斧" }, new int[] { 205, 106, 215 }));
racers.Add(new Racer("程普", "黃蓋", 96, "吳國", 10, new string[] { "龍虎鞭", "大刀" }, new int[] { 190, 191, 202,207 }));
racers.Add(new Racer("周泰", "太史慈", 88, "吳國", 10, new string[] { "無敵身軀", "火箭槍" }, new int[] { 195, 196, 197 }));
}
return racers;
}
public static IList GetConstructorChampions()
{
if (team == null)
{
team = new List();
team.Add(new Team("兄弟隊", new int[] { 200, 201, 202 }));
team.Add(new Team("死黨隊", new int[] { 203 }));
team.Add(new Team("虎營隊", new int[] { 195, 212 }));
team.Add(new Team("良將隊", new int[] { 205, 106, 215 }));
team.Add(new Team("老將隊", new int[] { 190, 191, 202, 207 }));
team.Add(new Team("不死隊", new int[] { 195, 196, 197 }));
}
return team;
}
}
} ----------------------------------------------------主程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var query = from r in Formula.GetChampions()
where r.Country == "蜀國"
orderby r.Wins descending
select r;
foreach (var item in query)
{
Console.WriteLine("{0}",item);
}
Console.ReadKey();
//===============================================擴展方法
List RacersCondition = new List(Formula.GetChampions());
//Where:擴展方法,用于篩選
//OrderBy:擴展方法,用于排序
//Select:擴展方法,將值投放到新表中
IEnumerable RacersResult = RacersCondition.Where(r => r.Country == "吳國").OrderBy(r => r.Wins).Select(r => r);
foreach (var item in RacersResult)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
}
}
本文題目:Linq簡單的查詢,擴展方法
文章分享:http://fisionsoft.com.cn/article/iggcsp.html


咨詢
建站咨詢
