请教c#中如何确定含中文的字符串的长度(中文算两个字符),谢谢. 有好几种方式建议byte[] mybyte=System.Text.Encoding.Default.GetBytes(str);mybyte.Length 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还可以 public double CnLen(string str) { ASCIIEncoding n=new ASCIIEncoding(); byte [] mybyte=n.GetBytes(str); double len=str.Length; for(int i=0;i<str.Length;i++) { if(mybyte[i]==63) { len=len+1; } } return len/2;// int temp;// double len=str.Length;// for(int i=0;i<str.Length;i++) // {// temp=(int)str[i];// if(temp<0)// {// temp+=65536;// }// if(temp>255)// {// len+=1;// }// }// return len/2; } 同意xhan2000。因为在.NET中都是才有Unicode,所以汉字和字符都占2个字节。建议采用第一种方式,即优雅,又简洁。private int GetBytes(String str){ byte[] mybyte=System.Text.Encoding.Default.GetBytes(str); return mybyte.Length;}------------------Think and Thank 请高手发给我个实例 c# 客服端如何调用服务端的某个方法 用C#中使用oracle链接时,客户数据库未开始一个事务处理?有没有好的解决办法? C#调用C++dll的问题(在线等) 怎么把byte[]转成string? 讨论用.net做C/S结构软件的优劣 cookie过期问题 哪位高手来解释一下lock()?看帮助看不太明白。 出学者:新建项目C#出错(请看详细内容),这是为什么????? 我在在VS。NET中设计一个WEB应用程序,预览后提示如下错误,请问什么地方不对? 哪位大侠能用通俗的语言为我讲解一下ref的作用! 怎么动态增加我的数组
{
ASCIIEncoding n=new ASCIIEncoding();
byte [] mybyte=n.GetBytes(str);
double len=str.Length;
for(int i=0;i<str.Length;i++)
{
if(mybyte[i]==63)
{
len=len+1;
}
}
return len/2;
// int temp;
// double len=str.Length;
// for(int i=0;i<str.Length;i++)
// {
// temp=(int)str[i];
// if(temp<0)
// {
// temp+=65536;
// }
// if(temp>255)
// {
// len+=1;
// }
// }
// return len/2;
}
{
byte[] mybyte=System.Text.Encoding.Default.GetBytes(str);
return mybyte.Length;
}------------------
Think and Thank