【发布时间】:2011-08-30 17:01:08
【问题描述】:
我正在尝试使用以下方法生成一个包含 8 个字符的随机字符串,并且效果很好,但这是 1 个小问题。
当我将字符串打印到屏幕上并将其从 IE 复制到记事本时,有时会在字符串中间添加一个破折号 (-)。这是什么原因造成的,我该如何解决?
这种情况不会经常发生,可能是 1/10 次,但仍然会弄乱字符串。
public string generateString()
{
int length = 8;
string str = "";
string chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ123456789";
int charsCount = chars.Length;
Random random = new Random();
for (int i = 0; i < length; i++)
{
str += chars[random.Next(0, charsCount)];
}
return str;
}
【问题讨论】:
-
您说“打印到屏幕”,然后“将其从 IE 复制到记事本” - 这是如何进入 IE 的?这是在某种网站框架中吗?
-
是的,这是一个简单的 aspx 站点,我正在使用 Response.Write 将字符串打印到屏幕上
-
@user: 你能显示你的
Response.Write()行吗?另外,请尝试查看源代码,看看页面源代码中是否出现破折号? -
破折号不显示在页面源代码中。
-
使用此代码在文本框中得到完全相同的奇怪破折号。请注意,这不是破折号,而是一个奇怪的 utf16 字符。真的很奇怪。