天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

徹底學通string.Format以及IFormattable,IFormatProvider,ICustomFormatter

  自從使用.NET以來就一直都在使用string.Format方法,一直沒有空或者其他原因都沒有深入去了解,主要還是因為項目上似乎沒有這么高的要求,也沒必要去深入了解,就算碰到了自定義的格式化內容也是寫幾個通用的方法而已。今天空下來仔細去理解了一下,在這里和大家分享一下,也希望大家一起交流。

  string.Format方法是string類提供的靜態方法,一般最多使用的是其兩個參數的重載,例如:

var name = "Zhezhe";
var msg 
= string.Format("Hello Cnblogs, I am {0},Today is {1:yyyy-MM-dd} {2}.", name, DateTime.Now, DateTime.Now.DayOfWeek);
Console.WriteLine(msg);

  3.ToString帶有自定義格式化參數的理解

  上面講到的ToString都是不帶格式化參數的,像  {1:yyyy-MM-dd} 這樣的情況是沒法處理的,也許有人會說像 DateTime.Now.ToString("yyyy-MM-dd") 這樣的情況自己去重載一個ToString方法就可以了,果真如此嗎? 下面就測試一下:

public class PersonWithToString
    {
        
public string Name { getset; }

        
public override string ToString()
        {
            
return Name;
        }

        
public string ToString(string format)
        {
            
switch (format)
            {
                
case "UPP":
                    
return Name.ToUpper();
                
case "LOW":
                    
return Name.ToLower();
                
default:
                    
return Name;
            }
        }
    }

  4.繼續了解 IFormatProvider 和 ICustomFormatter 接口

  到這里為止,應該說靈活應用string.Format()已經沒什么多大的問題了,但是也還是存在一些問題,比如我們必須得為每個類單獨去實現IFormattable接口才能實現自定義的格式化參數。在一些場后還是覺得不太方便或者說代碼冗余。

  .NET的string.Format靜態方法還提供了重載方法,具體簽名如下:public static string Format(IFormatProvider provider,string format,params Object[] args)

  這個方法比起原來使用的方法最前面增加了 IFormatProvider類型參數。使用此方法的優點是不需要為后面的參數對象實現 IFormattable  接口就可以使用自定義的格式化參數。既然這樣的話也就解決了第4部分開頭提到的問題了。 

  還是用例子說話,下面是正方形類

public class Square
{
public string Name { get; set; }

/// <summary>
/// 邊長
/// </summary>
public double Side { get; set; }

public override string ToString()
{
return string.Format("{0}(Side:{1})",Name, Side);
}
}

NET技術徹底學通string.Format以及IFormattable,IFormatProvider,ICustomFormatter,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国外经典三级 | 亚洲AV久久无码精品九号 | 久久免费精品国产72精品剧情 | japanese幼儿videos| 成人毛片免费观看视频大全 | 99久久无码热高清精品 | 美女撒尿无遮挡免费中国 | 啪啪羞羞GIF男女0OXX动态图 | 特级做A爰片毛片免费69 | 三级全黄a| 撕开美女的衣服2 | 97蜜桃网123| yellow免费影视大全 | 亚洲日韩天堂在线中文字幕 | 色综合久久久久久 | 最新果冻传媒在线观看免费版 | 久久久久久天天夜夜天天 | jazzjazzjazz欧美 | 国产在线精彩亚洲久久 | 亚洲人成77777 | 正在播放国产尾随丝袜美女 | 国产亚洲精品久久久久久入口 | 亚洲黄色三级视频 | 99久久久精品免费观看国产 | 久久综合色悠悠 | 欧美黄色xxx | 99久久re6热精品首页 | 国产午夜一区二区三区免费视频 | 亚洲 自拍 欧洲 视频二区 | 992交通广播 | 国产亚洲精品在线视频 | 国产精品嫩草影视在线观看 | XXX国产麻豆HD | 祺鑫WRITEAS流出来了 | 欧美做真爱欧免费看 | 亚洲免费一区 | 国产精品96久久久久久AV不卡 | 97超碰在线视频人人av | 天美传媒麻豆精品 | 精品国产乱码久久久久久下载 | 神马影院在线eecss伦理片 |