亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c# 字符串操作總結(jié)

 更新時(shí)間:2020年06月09日 14:42:03   作者:Liam Wang  
這篇文章主要介紹了c# 字符串操作的相關(guān)知識(shí),文中講解的非常詳細(xì),代碼幫助大家更好的學(xué)習(xí),感興趣的朋友可以參考下

字符串操作在任意編程語(yǔ)言的日常編程中都隨處可見,今天來匯總一下 C# 中關(guān)于字符串的一些你可能遺忘或遺漏的知識(shí)點(diǎn)。

逐字字符串

在普通字符串中,反斜杠字符是轉(zhuǎn)義字符。而在逐字字符串(Verbatim Strings)中,字符將被編程器按照原義進(jìn)行解釋。使用逐字字符串只需在字符串前面加上 @ 符號(hào)。

// 逐字字符串:轉(zhuǎn)義符
var filename = @"c:\temp\newfile.txt";
Console.WriteLine(filenaame);

// 逐字字符串:多行文本
var multiLine = @"This is a
multiline paragraph.";
Console.WriteLine(multiLine);

// 非逐字字符串
var escapedFilename = "c:\temp\newfile.txt";
Console.WriteLine(escapedFilename);

輸出:

c:\temp\newfile.txt
This is a
multiline paragraph.
c:    emp
ewfile.txt

逐字字符串中唯一不被原樣解釋的字符是雙引號(hào)。由于雙引號(hào)是定義字符串的關(guān)鍵字符,所以在逐字字符串中要表達(dá)雙引號(hào)需要用雙引號(hào)進(jìn)行轉(zhuǎn)義。

varstr = @"""I don't think so"", he said.";
Console.WriteLine(str);
// 輸出:"I don't think so", he said.

在逐字字符串中也可以 $ 符號(hào)實(shí)現(xiàn)字符串內(nèi)插值。

Console.WriteLine($@"Testing \n 1 2 {5 - 2}");
// 輸出:Testing \n 1 2 3

數(shù)字格式化轉(zhuǎn)換

典型的的格式化方法為:

string.Format("{index[:format]}", number)

可使用“0”和“#”占位符進(jìn)行補(bǔ)位。“0” 表示位數(shù)不夠位數(shù)就補(bǔ)充“0”,小數(shù)部分如果位數(shù)多了則會(huì)四舍五入;“#”表示占位,用于輔助“0”進(jìn)行補(bǔ)位。

標(biāo)準(zhǔn)格式化用法:

// “0”描述:占位符,如果可能,填充位
string.Format("{0:000000}",1234); // 結(jié)果:001234

// “#”描述:占位符,如果可能,填充位
string.Format("{0:######}",1234); // 結(jié)果:1234
string.Format("{0:#0####}",1234); // 結(jié)果:01234
string.Format("{0:0#0####}",1234); // 結(jié)果:0001234

// "."描述:小數(shù)點(diǎn)
string.Format("{0:000.000}", 1234);    // 結(jié)果:1234.000
string.Format("{0:000.000}", 4321.12543); // 結(jié)果:4321.125

// ","描述:千分表示
string.Format("{0:0,0}", 1234567);  //結(jié)果:1,234,567

// "%"描述:格式化為百分?jǐn)?shù)
string.Format("{0:0%}",1234);    // 結(jié)果:123400%
string.Format("{0:#%}", 1234.125);  // 結(jié)果:123413%
string.Format("{0:0.00%}",1234);   // 結(jié)果:123400.00%
string.Format("{0:#.00%}",1234.125); // 結(jié)果:123412.50%

內(nèi)置快捷字母格式化用法:

// E-科學(xué)計(jì)數(shù)法表示
(25000).ToString("E"); // 結(jié)果:2.500000E+004

// C-貨幣表示,帶有逗號(hào)分隔符,默認(rèn)小數(shù)點(diǎn)后保留兩位,四舍五入
(2.5).ToString("C"); // 結(jié)果:¥2.50

// D[length]-十進(jìn)制數(shù)
(25).ToString("D5"); // 結(jié)果:00025

// F[precision]-浮點(diǎn)數(shù),保留小數(shù)位數(shù)(四舍五入)
(25).ToString("F2"); // 結(jié)果:25.00

// G[digits]-常規(guī),保留指定位數(shù)的有效數(shù)字,四舍五入
(2.52).ToString("G2"); // 結(jié)果:2.5

// N-帶有逗號(hào)分隔符,默認(rèn)小數(shù)點(diǎn)后保留兩位,四舍五入
(2500000).ToString("N"); // 結(jié)果:2,500,000.00

// X-十六進(jìn)制,非整型將產(chǎn)生格式異常
(255).ToString("X"); // 結(jié)果:FF

ToString 也可以自定義補(bǔ)零格式化:

(15).ToString("000");       // 結(jié)果:015
(15).ToString("value is 0");    // 結(jié)果:value is 15
(10.456).ToString("0.00");     // 結(jié)果:10.46
(10.456).ToString("00");      // 結(jié)果:10
(10.456).ToString("value is 0.0"); // 結(jié)果:value is 10.5

轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制輸出:

int number = 15;
Convert.ToString(number, 2); // 結(jié)果:1111
Convert.ToString(number, 8); // 結(jié)果:17
Convert.ToString(number, 16); // 結(jié)果:f

自定義格式化器:

public class CustomFormat : IFormatProvider, ICustomFormatter
{
  public string Format(string format, object arg, IFormatProvider formatProvider)
  {
    if (!this.Equals(formatProvider))
    {
      return null;
    }
    if (format == "Reverse")
    {
      return string.Join("", arg.ToString().Reverse());
    }
    return arg.ToString();
  }

  public object GetFormat(Type formatType)
  {
    return formatType == typeof(ICustomFormatter) ? this : null;
  }
}

使用自定義格式化器:

String.Format(newCustomFormat(), "-> {0:Reverse} <-", "Hello World");
// 輸出:-> dlroW olleH <-

字符串拼接

將數(shù)組中的字符串拼接成一個(gè)字符串:

var parts = new[] { "Foo", "Bar", "Fizz", "Buzz"};
var joined = string.Join(", ", parts);
// joined = "Foo, Bar, Fizz, Buzz"

以下四種方式都可以達(dá)到相同的字符串拼接的目的:

string first = "Hello";
string second = "World";
string foo = first + " " + second;
string foo = string.Concat(first, " ", second);
string foo = string.Format("{0} {1}", firstname, lastname);
string foo = $"{firstname} {lastname}";

字符串內(nèi)插法

簡(jiǎn)單用法:

var name = "World";
var str =$"Hello, {name}!";
// str = "Hello, World!"

帶日期格式化:

var date = DateTime.Now;
var str = $"Today is {date:yyyy-MM-dd}!";

補(bǔ)齊格式化(Padding):

var number = 42;

// 向左補(bǔ)齊
var str = $"The answer to life, the universe and everything is {number, 5}.";
// str = "The answer to life, the universe and everything is ___42." ('_'表示空格)

// 向右補(bǔ)齊
var str = $"The answer to life, the universe and everything is ${number, -5}.";
// str = "The answer to life, the universe and everything is 42___."

結(jié)合內(nèi)置快捷字母格式化:

var amount = 2.5;
var str = $"It costs {amount:C}";
// str = "¥2.50"

var number = 42;
var str = $"The answer to life, the universe and everything is {number, 5:f1}.";
// str = "The answer to life, the universe and everything is ___42.1"

以上就是c# 字符串操作總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于C#字符串操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#開啟線程的四種示例

    C#開啟線程的四種示例

    這篇文章主要介紹了C#開啟線程的四種方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-10-10
  • Winform 顯示Gif圖片的實(shí)例代碼

    Winform 顯示Gif圖片的實(shí)例代碼

    這篇文章主要介紹了Winform 顯示Gif圖片的實(shí)例代碼,有需要的朋友可以參考一下
    2014-01-01
  • c#可空類型的作用說明

    c#可空類型的作用說明

    本篇文章主要是對(duì)c#中可空類型的作用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01
  • C#+RedisSearch實(shí)現(xiàn)高性能全文搜索

    C#+RedisSearch實(shí)現(xiàn)高性能全文搜索

    Redis?Search是一個(gè)Redis模塊,它使用壓縮的倒排索引來實(shí)現(xiàn)快速的索引和低內(nèi)存占用,本文主要介紹了C#如何使用RedisSearch實(shí)現(xiàn)高性能全文搜索,希望對(duì)大家有所幫助
    2023-07-07
  • C#如何獲取枚舉的描述屬性詳解

    C#如何獲取枚舉的描述屬性詳解

    這篇文章主要給大家介紹了關(guān)于C#如何獲取枚舉的描述屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • C#使用oledb導(dǎo)出數(shù)據(jù)到excel的方法

    C#使用oledb導(dǎo)出數(shù)據(jù)到excel的方法

    這篇文章主要介紹了C#使用oledb導(dǎo)出數(shù)據(jù)到excel的方法,結(jié)合實(shí)例形式分析了C#操作oledb導(dǎo)出數(shù)據(jù)的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下
    2016-06-06
  • C#字符串常見操作總結(jié)詳解

    C#字符串常見操作總結(jié)詳解

    本篇文章是對(duì)C#中字符串的常見操作進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友參考下
    2013-05-05
  • Unity實(shí)現(xiàn)虛擬搖桿效果

    Unity實(shí)現(xiàn)虛擬搖桿效果

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)虛擬搖桿效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#讀寫Config配置文件案例

    C#讀寫Config配置文件案例

    這篇文章介紹了C#讀寫Config配置文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#圖像透明度調(diào)整的方法

    C#圖像透明度調(diào)整的方法

    這篇文章主要介紹了C#圖像透明度調(diào)整的方法,涉及C#操作圖像透明度的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04

最新評(píng)論