一个字符串截取问题
public static string CutString(string inputString, int len)
{
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
string tempString = " ";
byte[] s = ascii.GetBytes(inputString);
for (int i = 0; i < s.Length; i++)
{
if ((int)s == 63)//ascii为?ASCII码时,加2变成字母ASCII码
{
tempLen += 2;
}
else
{
tempLen += 1;
}
try
{
tempString += inputString.Substring(i, 1);
}
catch
{
break;
}
if (tempLen > len)
break;
}
//如果截过则加上半个省略号
byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString);
if (mybyte.Length > len)
tempString += "… ";
return tempString;
}
这个方法谁能解释一下啊
tempLen += 2;为什么要加2呢?后面一句又加1,搞不懂
谁能全部解释一下啊,思想也行呀
------解决方案--------------------
debug 一下看看里面的具体值 然后再理解一下,这样学的比较快