获取字符串的大小

时间:2014-04-23 12:47:20

标签: c#

我想知道如何计算字符串数据类型的大小。 说在以下情况下s的大小是多少?

string s="";
string s="1";
string s="12";

如果可能的话,可以指向一个提到这个的网站吗?

4 个答案:

答案 0 :(得分:6)

请参阅此链接:How to know the size of the string in bytes?

System.Text.Encoding.Unicode.GetByteCount(s);
System.Text.Encoding.ASCII.GetByteCount(s);

或来自msdn:http://msdn.microsoft.com/en-us/library/system.string.aspx

答案 1 :(得分:4)

从你的问题中不清楚你的意思。

如果按大小表示多少个字符,则Length是您要查找的属性

"".Length   // 0
"1".Length  // 1
"12".Length // 2

如果按大小表示多少字节那么这取决于编码,你可以使用Snake Eyes给出的答案

Encoding.Unicode.GetByteCount("")   // 0
Encoding.UTF8.GetByteCount("")      // 0

Encoding.Unicode.GetByteCount("1")  // 2
Encoding.UTF8.GetByteCount("1")     // 1

Encoding.Unicode.GetByteCount("12") // 4
Encoding.UTF8.GetByteCount("12")    // 2

如果按大小表示数字值,则需要解析文本

Int32.Parse("")   // FormatException: Input string was not in a correct format
Int32.Parse("1")  // 1
Int32.Parse("12") // 12

答案 2 :(得分:0)

请使用以下代码

long size=sizeof(char) *s.length; 

答案 3 :(得分:0)