好男人天堂网,久久精品国产这里是免费,国产精品成人一区二区,男人天堂网2021,男人的天堂在线观看,丁香六月综合激情

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 程序開發(fā)教程 > C# Small Tips

C# Small Tips
2009-12-23 10:52:26  作者:cnblogs  來源:cnblogs

學(xué)習(xí)和使用C#這么久,也有了些可以跟大家分享的經(jīng)驗(yàn)和教訓(xùn),這里分享下幾個(gè)關(guān)于C#開發(fā)的小技巧:

1. 輸出變量的名稱。

    需求:有時(shí)候我們在測試或平時(shí)練習(xí)的時(shí)候可能想把變量的值和它自身的名稱一起輸入到屏幕或者其他地方,而不是自己在代碼中寫變量名。如:

    var A = 10;

    Console.WriteLine("Var Name:A,Value:{0}", A);

    實(shí)現(xiàn):實(shí)現(xiàn)這個(gè)功能有兩種方式。讀者不妨也思考一下有沒有其他更好的方式實(shí)現(xiàn)這個(gè)功能。

        a. 我首先給出通過匿名類型和反射的實(shí)現(xiàn)方式。

    public static class ObjectExtensions
    {
        
public static string GetVariableName<T>(this T obj)
        {
            System.Reflection.PropertyInfo[] objGetTypeGetProperties 
= obj.GetType().GetProperties();

            
if (objGetTypeGetProperties.Length == 1)
                
return objGetTypeGetProperties[0].Name;
            
else
                
throw new ArgumentException("object must contain one property");
        }
     }

    
//調(diào)用方式,我們通過匿名類型構(gòu)造對象,然后通過反射獲取它內(nèi)部屬性
     static void main()
     {
            
string testVar1 = "testName";
            Console.WriteLine(
new { testVar1 }.GetVariableName());

            
int testVar2 = 12345;
            Console.WriteLine(
new { testVar2 }.GetVariableName());
     }


 

    b. 通過.NET 3 中的Lamda表達(dá)式這里給出另外一個(gè)更加方便的實(shí)現(xiàn)方式。

  static void WriteName<T>(Expression<Func<T>> expression)
  {
       Console.WriteLine(
"{0}={1}",
                ((MemberExpression)expression.Body).Member.Name,
                expression.Compile()());
  }
  static void main()
  {
       
string testVar1 = "testName";
        WriteName(() 
=> testVar1);
  }


 

2. 字符串轉(zhuǎn)換為基本類型

    需求:在日常編程中,我們經(jīng)常要在文件或用戶輸入界面中將一些字符串變量轉(zhuǎn)換為常用類型,當(dāng)然我們可以用System.Convert類來完成這項(xiàng)工作,但如果有大量轉(zhuǎn)換工作進(jìn)行的時(shí)候,這種代碼看起來很不方便,這時(shí)候我們可以通過.net的一些新的特性來很方便的完成這項(xiàng)工作

    實(shí)現(xiàn):通過擴(kuò)展方法,反射和泛型可以很方便完成這項(xiàng)工作。

    public static class ObjectExtensions
    {
        
static T? To<T>(this string parse)
            
where T : struct
        {
            Type t 
= typeof(T);
            
if (t == typeof(int))
            {
                
int i;
                
if (int.TryParse(parse, out i))
                    
return (T)(object)i;
                
return null;
            }
            
if (t == typeof(double))
            {
                
double i;
                
if (double.TryParse(parse, out i))
                    
return (T)(object)i;
                
return null;
            }
            
//添加其他類型的轉(zhuǎn)換代碼,如DateTime,Enum,etc;
            throw new NotSupportedException(string.Format("類型:{0}轉(zhuǎn)換不支持",t.Name));
        }
     }
     
//使用函數(shù)
     static void main()
     {
       
int? a="111".To<int>();
        
double? b="111.111".To<double>();
        
int? c="bad".To<int>();
     }


 

不過這個(gè)轉(zhuǎn)換代碼中由于有兩個(gè)類型轉(zhuǎn)換才能通過編譯,所以看起來仍然沒那么舒服,希望大家能有更好的方式實(shí)現(xiàn)。

 

3. WinForm編程中線程安全調(diào)用組件。

    需求:在.net 1.0的時(shí)候在其他線程中操作Win Form 主線程組件時(shí)候是可以直接操作的,但這也帶來了潛在的風(fēng)險(xiǎn)。于是在2.0以后跨線程操作你需要通過BeginInvoke來完成該項(xiàng)操作,但這也讓代碼看起來很拖沓,有時(shí)用戶可能僅僅只需要在線程某項(xiàng)操作完成后僅僅更新窗口中的某個(gè)組件,如進(jìn)度條而已,卻需要另外寫一個(gè)函數(shù)去實(shí)現(xiàn)。

    實(shí)現(xiàn): 拖過擴(kuò)展函數(shù)和匿名方法可以很方便的完成窗口線程和其他線程之間的交互工作。下面給出了一個(gè)簡單的實(shí)現(xiàn),當(dāng)然,如果你需要更安全的調(diào)用,還需要添加一些檢測,如IsHandleCreated檢測,另外如果你需要傳遞參數(shù),你可能需要另外定義一個(gè)委托.

    public static class ControlExtention
    {
        
public delegate void InvokeHandler();

        
public static void SafeInvoke(this Control control, InvokeHandler handler)
        {
            
if (control.InvokeRequired)
            {
                control.Invoke(handler);
            }
            
else
            {
                handler();
            }
        }
    }

   
//在form中當(dāng)用戶在非form線程中需要操作form中組件對象時(shí),調(diào)用如下
    public form:Form
    {
     
public form()
      {
        Thread t
=new  Thread(t1);
        t.start();
      }
     
void t1()
      {
            Thread.Sleep(
1000);
            
this.SafeInvoke(() => this.textBox1.Text = "Hello world");
      }
    }


 

上面只是平時(shí)碰到或者從別人那里學(xué)到的一些小的編程技巧,希望能對其他人也有所幫助。有機(jī)會(huì)的話希望能把我更多的自認(rèn)為好的總結(jié)發(fā)出來。
 


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
午夜在线观看视频免费 成人| 日韩欧美一及在线播放| 欧美激情一区二区三区在线| 高清一级毛片一本到免费观看| 国产麻豆精品hdvideoss| 精品视频一区二区| 色综合久久天天综合| 精品视频在线观看视频免费视频 | 一级女性全黄久久生活片| 精品美女| 成人av在线播放| 日韩在线观看免费完整版视频| 日韩av成人| 欧美激情在线精品video| 国产麻豆精品hdvideoss| 黄视频网站在线看| 天天做人人爱夜夜爽2020| 日韩专区亚洲综合久久| 成人免费一级纶理片| 久久99爰这里有精品国产| 国产一区二区福利久久| 成人高清视频在线观看| 免费国产一级特黄aa大片在线| 国产不卡在线观看视频| 免费一级片在线| 国产不卡精品一区二区三区| 久久久久久久网| 亚洲wwwwww| 国产伦久视频免费观看 视频| 国产麻豆精品视频| 国产韩国精品一区二区三区| 久久成人亚洲| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 成人免费观看网欧美片| 99久久精品费精品国产一区二区| 国产91精品一区| 精品国产一区二区三区久| 99热精品在线| 天天做人人爱夜夜爽2020毛片| 国产精品自拍在线观看| 日本在线不卡免费视频一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美18性精品| 日韩中文字幕一区二区不卡| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 台湾美女古装一级毛片| 成人免费网站久久久| 国产激情视频在线观看| 九九热精品免费观看| 欧美日本免费| 久草免费在线视频| 欧美激情伊人| 亚久久伊人精品青青草原2020| 久久国产精品只做精品| 午夜在线亚洲| 午夜久久网| 中文字幕Aⅴ资源网| 美国一区二区三区| 国产福利免费视频| 四虎影视精品永久免费网站| 日韩免费在线视频| 国产韩国精品一区二区三区| 沈樵在线观看福利| 免费国产一级特黄aa大片在线| 亚欧乱色一区二区三区| 欧美大片aaaa一级毛片| 日本在线www| 黄视频网站免费看| 国产91素人搭讪系列天堂| 精品视频免费在线| 欧美激情一区二区三区在线| 亚洲精品影院一区二区| 香蕉视频久久| 91麻豆爱豆果冻天美星空| 免费的黄色小视频| 亚洲女初尝黑人巨高清在线观看| 国产高清在线精品一区二区| 日韩中文字幕在线播放| 沈樵在线观看福利| 欧美a级v片不卡在线观看| 99久久精品国产麻豆| 日韩专区第一页| 亚欧乱色一区二区三区| 尤物视频网站在线| 欧美激情影院| 欧美日本免费| 日本特黄特色aaa大片免费| 91麻豆精品国产自产在线| 美女免费精品高清毛片在线视| 天天做人人爱夜夜爽2020| 美女免费毛片| 国产视频一区在线| a级毛片免费观看网站| 精品国产一区二区三区久| 国产高清在线精品一区a| 韩国毛片免费大片| 91麻豆国产福利精品| 欧美1区| 美女免费毛片| 久久精品店| 国产伦精品一区三区视频| 麻豆网站在线免费观看| 久久99爰这里有精品国产| 精品国产香蕉在线播出 | 亚欧成人毛片一区二区三区四区| 美国一区二区三区| 亚洲 国产精品 日韩| 精品在线观看一区| 高清一级毛片一本到免费观看| 天天做日日干| 久久精品店| 国产麻豆精品hdvideoss| 91麻豆精品国产片在线观看| 日日夜夜婷婷| 国产网站免费视频| 你懂的在线观看视频| a级毛片免费全部播放| 成人a级高清视频在线观看| 欧美1卡一卡二卡三新区| 亚洲精品久久玖玖玖玖| 久久国产精品永久免费网站| 国产精品自拍在线观看| 九九热精品免费观看| 久久久久久久男人的天堂| 韩国三级视频网站| 精品国产亚洲人成在线| 香蕉视频久久| 国产国产人免费视频成69堂| 国产精品自拍一区| 日本乱中文字幕系列| 青青青草影院 | 91麻豆国产福利精品| 精品国产一区二区三区国产馆| 成人免费福利片在线观看| 成人高清视频免费观看| 亚洲精品久久玖玖玖玖| 天堂网中文在线| 国产视频网站在线观看| 精品在线视频播放| 国产麻豆精品免费密入口| 国产不卡福利| 国产a视频| 国产91视频网| 国产伦精品一区三区视频| 精品视频在线观看视频免费视频| 国产a视频| 日本特黄特色aaa大片免费| 午夜在线亚洲男人午在线| 91麻豆精品国产自产在线 | 欧美一级视频免费观看| 国产成a人片在线观看视频| 欧美爱色| 99热精品在线| 人人干人人草| 午夜在线影院| 色综合久久天天综线观看| 99热精品在线| 深夜做爰性大片中文| 91麻豆爱豆果冻天美星空| 国产一区二区精品在线观看| 99色吧| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本在线不卡视频| 日韩女人做爰大片| 久久成人亚洲| 国产一区免费在线观看| 国产伦精品一区二区三区在线观看 | 国产网站在线| 国产高清在线精品一区a| 国产一级生活片| 尤物视频网站在线观看| 91麻豆精品国产自产在线 | 精品视频一区二区| 国产麻豆精品免费密入口| 国产成人精品综合在线| 成人免费观看的视频黄页| 亚欧视频在线| 日韩一级黄色大片| 黄色福利片| 黄视频网站在线观看| 91麻豆精品国产高清在线| 一级女性全黄生活片免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 天天色成人网| 色综合久久天天综合绕观看| 国产极品精频在线观看| 一级片免费在线观看视频| 国产成人精品影视| 香蕉视频久久| 一级毛片视频播放| 国产网站免费在线观看| 精品视频在线观看免费| 天天色色网| 天天色成人网| 一级女性大黄生活片免费| 国产福利免费视频| 99久久精品国产片| 成人免费观看网欧美片| 欧美a级成人淫片免费看| a级毛片免费全部播放|