C ToString常用技巧總結

2021-06-16 17:40:50 字數 3861 閱讀 7461

tostring是在開發中最常用的操作,其作用是將其它型別以字串型別表示。例如:

int i=2;

i.tostring() //」2″

object o = new object();

o.tostring(); // 返回物件型別 system.object

但是tostring也並非就這麼簡單。因為tostring實現自object類,而object類是一切類的基類。其它的類繼承自object,自然也就實現了tostring方法。但是也可以重寫tostring方法。這也就衍生了其它的使用。如果我們運用合理的話,將會使我們的開發非常的方便。例如在開發中常用到的:

一.格式化輸出,包含值型別,datetime,guid等,tostring()中接受引數,根據引數輸出指定格式。

為實現格式化輸出,在相關的型別中,重寫tostring()為

public string tostring(string format) format 接收的引數,按指定的格式輸出。接受引數,如」c」,」d」,」e」,」等.

public string tostring(string format,iformatprovider provider) format 接收的引數,provider 為語言文化 如zh-cn 表示中文,en-us 表示美國英語

1.值型別,有時我們需要將值型別按照格式化輸出,如輸出為貨幣型別,我們只需要在tostring()中指定format為」c」,如果需要輸出美元符號,可以將provider指定為en-us,例如

float f = 2000.12f;

f.tostring(「c」, cultureinfo.createspecificculture(「en-us」)); //輸出為$2,000.12

值型別中常用的引數有:

格式化引數說明c

貨幣符號

d十進位制表示,後跟數字表佔位符 如25.tostring(「d3」) ; =025 等價於 25.tostring(「000」);

n易讀性數值表示法 ,用逗號分隔大型數值。如 123456.tostring(「n」);  //123,456

p百分號

x數值的16進製表示,x後跟數字表示用幾位表示16進製制。如10.tostring(「x8」); //0000000a

f指定小數點位置,四捨五入

e指數表示,後跟數字表示小數點位數

g數值的一般表示格式,後跟數字為擷取數值長度

我們可以用**測試格式化引數的使用,如下所示:

string formattypes = ;

double d = 1234.6789

;foreach(string type in

formattypes)

.tostring(\"\")=

",d,type,d.tostring(type)));

}

測試輸出

2.datetime,格式化引數主要用於日期時間的格式化輸出。datetime.now的預設格式為g。引數有一部分區分大小寫。如下所示

使用的**

string datetimetypes = ;

foreach(string type in

datetimetypes)

:", type.padleft(2,'

'),datetime.now.tostring(type, cultureinfo.createspecificculture("

zh-cn

")))); //

設定中國的日期格式

}

測試輸出:

3.guid,guid為在開發過程中常用來代表唯一標示。在guid 型別中,格式化引數主要有:

string guidtypes=;

foreach(string type in

guidtypes)

",guid.newguid().tostring(type).padleft(2,'

')));

}

輸出結果:

二.tostring的重寫,c#中的任何物件都繼承了tostring()方法。在自定義類中如果需要重寫tostring()方法,只需要在類中加入:

public override string tostring(){}

而支援格式化引數的tostring()需要繼承iformattable介面,並實現

public string tostring(string format,iformatprovider provider)方法

下面以people,peoples類說明如何重寫tostring()。本例只是說明tostring()的用法,所以並沒有與資料庫互動。

class

people

public

string name

public

string address

}class

peoples:ienumerable,iformattable

public

void

add(people people)

public

ienumerator getenumerator()

}//重寫tostring()

public

override

string

tostring()

//重寫帶參tostring()

public

string tostring(string

format)

//重寫帶參tostring()

public

string tostring(string

format, iformatprovider provider)

else

if (format.toupperinvariant() == "s"

)

return

getcontent(ps);

}private

string getcontent(ienumerablepeoples)

:", p.name, p.address));

}return

_sb.tostring();

}}static

void main(string

args)

; console.writeline(

"本站會員有:");

console.writeline(peoples.tostring());

console.writeline(

"北京的會員有:");

console.writeline(peoples.tostring("b

"));

console.writeline(

"上海的會員有:");

console.writeline(peoples.tostring("s

"));

console.readline();

}

輸出結果:

C ToString常用技巧總結

tostring是在開發中最常用的操作,其作用是將其它型別以字串型別表示。例如 int i 2 i.tostring 2 object o new object o.tostring 返回物件型別 system.object 但是tostring也並非就這麼簡單。因為tostring實現自objec...

常用技巧總結

number轉string 需要標頭檔案 include string str to string number string轉number 需要標頭檔案 include 轉整形 int number atoi 1234 轉浮點 float number atof 123.123 需要標頭檔案 in...

Linux or unix 常用技巧總結

turbolilnux7.1 1 去掉終端字元顏色顯示 修改在工作目錄下 bashrc中。alias ls ls nf show control chars if you use color ls,comment out above line and uncomment below 2 lines....