国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用C#中的out關鍵字,用世界杯演繹

2019-11-17 03:04:07
字體:
來源:轉載
供稿:網友

使用C#中的out關鍵字,用世界杯演繹

今年的世界杯好看至極,充滿著故事性、戲劇性。無論你平常踢不踢球,也不管你是否懂球,你總能從中獲得些許的情感釋放。世界杯似乎超越了足球本身,成為世界各地人們的"情感總和",一場場比賽牽動著無數人的心,賽場內比賽的跌宕起伏,賽場外球迷的喜怒哀樂。

而我們自己的國家隊,似乎離世界杯的舞臺漸行漸遠。也就在世界杯期間,在場上人數占優的情況下,居然輸給了默默無名的馬里隊,讓人唏噓不已。于是慨嘆:中國足球的天啥時亮啊?幾個球友一致認為:我們可以選擇不看中國隊的比賽!說雖然是這么說,但總有一些人在內心默默期待著中國足球好起來的那天......

當操場上、公園里、大街上、田地里到處是踢球的孩子,當我們的周圍有足夠多可以踢球的場地,當為人父的我們帶著自己的孩子走上球場,當我們有大批專業的青少年教練來教孩子踢球,當學校、俱樂部、中國足協重視青少年培養并愿意投入,當處在轉型期、被時代裹挾著向前的我們認識到物質和金錢不是全部,足球能帶來內心的快樂……到那時……跑題了,對了,本篇要體驗的是使用C#的out關鍵字,讓我想到這和足球比賽評選"本場最佳球員"頗為相似,就順著這個思路來。

比賽由場上球員來完成,還需要一個Bool類型的屬性IsBestPlayer,用來設置是否是最佳球員:

public class Player    {        public int Id { get; set; }        public string Name { get; set; }        public string Position { get; set; }         public bool IsBestPlayer { get; set; }    }

球員歸屬球隊,類型為int的ScoreCount屬性用來記錄進球數,用它來判斷哪個球隊贏得比賽:

public class Team    {        public Team()        {            Players = new List<Player>();        }              public int Id { get; set; }        public string Name { get; set; }        public int ScoreCount { get; set; }        public List<Player>  Players { get; set; }    }

我們需要一個方法,不僅可以判斷哪個Team贏得比賽,還需要評選出比賽的最佳球員,把這個最佳球員作為輸出參數:

static void WhoWinWorldCup(Team a, Team b, out string bestPlayer)         {            if (a.ScoreCount > b.ScoreCount)            {                Console.WriteLine("恭喜{0}贏得了本屆世界杯~~",a.Name);            }            else            {                Console.WriteLine("恭喜{0}贏得了本屆世界杯~~", b.Name);            }            bestPlayer = LookForBestPlayer(a, b);        }

LookForBestPlayer()方法用來獲取2個Team中的最佳球員:

static string LookForBestPlayer(Team a, Team b)         {            string result = string.Empty;            //把Team b的球員合并到Team a中去            a.Players.AddRange(b.Players);            foreach (var player in a.Players)            {                if (player.IsBestPlayer == false)                {                    continue;                }                else                {                    result = player.Name;                    break;                }            }            return result;        }

最后,在客戶端,由央視足球解說員賀煒來為我們評說本場比賽。 賀煒的解說準確、專業,甚至帶上幾份哲學味道:

static void Main(string[] args)        {            Console.WriteLine("央視足球解說員賀煒:歡迎大家來到本屆世界杯的決賽現場~~");            Console.WriteLine("央視足球解說員賀煒:決賽的2支隊伍是:");            Team brazil = new Team()            {                Id = 1,                Name = "巴西隊",                Players = new List<Player>()                {                    new Player(){Id = 1, Name = "內馬爾", Position = "前鋒"},                    new Player(){Id = 2, Name = "阿爾維斯", Position = "后衛"}                }            };            Team germany = new Team()            {                Id = 2,                 Name = "德國隊",                Players = new List<Player>()                {                    new Player(){Id = 3, Name = "齊勒", Position = "前鋒"},                    new Player(){Id = 4, Name = "拉姆", Position = "后衛"}                }            };            Console.WriteLine("來自南美的{0}主場迎戰來自歐洲的勁旅{1}", brazil.Name, germany.Name);            Console.WriteLine("在比賽的89分鐘,德國隊前鋒齊勒禁區外抽射死角,鎖定勝局~~");            germany.Players[0].IsBestPlayer = true;            germany.ScoreCount = 1;            brazil.ScoreCount = 0;            string best = string.Empty;            WhoWinWorldCup(brazil, germany,out best);            Console.WriteLine("本場比賽的最佳球員是:{0}", best);            Console.WriteLine();            Console.WriteLine("央視足球解說員賀煒:這是牽動人心的90分鐘。在這場比賽之后,總有一支球迷熱愛的球隊要離開,而這場比賽本身,將成為我們記憶中的永恒財富。等我們老去的時候,在壁爐旁抱著自己的孫子,一定會跟他們講起2014年,講起今晚的巴德大戰。");            Console.ReadKey();        }

運行:1

out和ref:● 相同的地方在于:傳遞的引用● 不同之處在于:ref在使用之前需要賦上初值,out可以賦初值也可以不賦


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹溪县| 马尔康县| 万荣县| 家居| 酒泉市| 三台县| 山阴县| 中阳县| 永泰县| 怀来县| 工布江达县| 江西省| 定西市| 伊金霍洛旗| 买车| 太湖县| 山东| 陆丰市| 兴宁市| 连南| 合肥市| 南江县| 金平| 会宁县| 洛阳市| 南靖县| 夏津县| 清苑县| 潮安县| 济阳县| 肇源县| 青神县| 屯留县| 长兴县| 隆德县| 友谊县| 连山| 平陆县| 沁水县| 颍上县| 丰都县|