日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C# 3.0/3.5语法新特性示例汇总[转]

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 3.0/3.5语法新特性示例汇总[转] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//作者:楊衛國
//時間:2008年2月21日
//說明:C#語法新特型示例
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;

namespace?C3
{
????
class?Program
????
{
????????
//新特性1:簡單屬性,無需另外多寫一個私有字段,比較適合于定義實體類
????????public?class?GsunisMan
????????
{
????????????
//傳統寫法,屬性必須有一個私有字段
????????????private?int?age;
????????????
public?int?Age
????????????
{
????????????????
get
????????????????
{
????????????????????
return?age;
????????????????}

????????????????
set
????????????????
{
????????????????????age?
=?value;
????????????????}

????????????}


????????????
//3.5寫法,直接定義即可;
????????????public?string?Name?{?get;?set;?}
????????????
public?Int64?ID?{?get;?private?set;?}
????????}


????????
static?void?Main(string[]?args)
????????
{
????????????
//新特性2:隱式類型,隱式類型化本地變量,但必須賦初值,編譯器通過初值推導出變量類型
????????????var?i?=?10;?//相當于?int?i=10;
????????????var?s?=?"甘肅紫光軟件研發部";?//s為String類型;?
????????????var?arrNums?=?new?int[]?{?3,6,9?};


????????????
//新特性3:初始化數組的簡寫方式:new[],可以回憶一下1.1、2.0怎么定義?
????????????int[]?arrNums2?=?new[]?{?1,?2,?43?};//當然也可以寫成:var?arrNums2?=?new[]?{?1,?2,?43?};


????????????
/**//**//**////新特性4:匿名類型,在2.0中有個匿名方法,很容易混淆
????????????var?book1?=?new?{?BookName?=?"《紫光人2007紀念版》",?BookNumber?=?150,BookPublisher?=?"甘肅紫光企劃部"?};
????????????MessageBox.Show(
string.Format("書名:{0},數量:{1},出版:{2}"?,book1.BookName?,?book1.BookNumber?,?book1.BookPublisher));

????????????
/**//**//**////新特性5:對象構造者(實例化時,構造函數后面跟大括號,可直接初始化對象屬性),在1.1、2.0中必須先定義,然后初始化
????????????GsunisMan?aMan?=?new?GsunisMan()?{Name?=?"楊衛國",?Age?=?100?};
????????????MessageBox.Show(
string.Format("編號:{0},姓名:{1},年齡:{2}",?aMan.ID,aMan.Name,aMan.Age));

????????????
/**//**//**////新特性6:集合構造者特性。允許List<>等自定義集合像數組一樣用大括號賦初值,在以前只有數組才可以的
????????????List<int>?listNums?=?new?List<int>()?{?1,?3,?54,?6,?78?};
????????????MessageBox.Show(listNums.Count.ToString());

????????????
//新特性7.2,請首先看看下面的新特性7.1;
????????????string?str?=?"123";
????????????
bool?isNum?=?str.IsAllNumber();
????????????MessageBox.Show(isNum.ToString());

????????????
//新特性8:Linq,作用就不多說了,用法太多,自己找資料看;
????????????
//從一個集合中找出所有年齡大于55歲的人;
????????????List<GsunisMan>?men=new?List<GsunisMan>();????????????
????????????men.Add(
new?GsunisMan{Name="劉備",Age=65});
????????????men.Add(
new?GsunisMan?{?Name?=?"關羽",?Age?=60?});
????????????men.Add(
new?GsunisMan?{?Name?=?"張飛",?Age?=?50?});
????????????var?man
=?from?m?in?men?where?m.Age>55?select?m;?//使用Linq,前面幾行在準備數據,感覺有些像Sql語句,呵呵
????????????MessageBox.Show(man.First<GsunisMan>().Name);?????//在此僅顯示第一個人姓名

????????????
//新特性9:Lambda表達式"=>",一個簡單的例子,用法太多,自己找資料看;
????????????int[]?numbers?=?{?5,?4,?1,?3,?9,?8,?6,?7,?2,?0?};
????????????
int?oddNumbers?=?numbers.Count(n?=>?n?%?2?==?1);????//找出奇數的個數
????????????MessageBox.Show(oddNumbers.ToString());
???????????
????????}


???????
????}

????
static?public?class?ExpandClass
????
{
????????
//新特性7.1:擴展方法。可在類的外部擴展已有的類,如下是擴展string類,為String類增加一個IsAllNumber方法
????????
//!!!此特性在.NET?2.0下不可用!!!
????????public?static?bool?IsAllNumber(this?string?str)
????????
{
????????????
foreach?(var?ch?in?str)
????????????
{
????????????????
if?(!char.IsNumber(ch))
????????????????
{
????????????????????
return?false;
????????????????}

????????????}

????????????
return?true;
????????}

???????
????}

???
}

轉載于:https://www.cnblogs.com/craig/archive/2009/05/13/1455651.html

總結

以上是生活随笔為你收集整理的C# 3.0/3.5语法新特性示例汇总[转]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。