C# 4.0 当我使用下面的代码删除用户名和密码时,我得到一个错误,比如startIndex不能大于字符串的长度 公共字符串解密值(字符串strText) { 字符串DecriptedValue=“”; string string=strText.Substring(26);//此行失败 int Count=String.Length-5; string EncripEdText=string.Substring(0,计数); int TotalChar=EncripEdText.Length/2; int J=0; 对于(int i=1;i
在获取子字符串之前检查参数长度:C# 4.0 当我使用下面的代码删除用户名和密码时,我得到一个错误,比如startIndex不能大于字符串的长度 公共字符串解密值(字符串strText) { 字符串DecriptedValue=“”; string string=strText.Substring(26);//此行失败 int Count=String.Length-5; string EncripEdText=string.Substring(0,计数); int TotalChar=EncripEdText.Length/2; int J=0; 对于(int i=1;i,c#-4.0,C# 4.0,在获取子字符串之前检查参数长度: public string DecryptValue(string strText) { string DecriptedValue =""; string String = strText.Substring(26); // This line fails int Count = String.Length - 5; string EncripEdText = String.Sub
public string DecryptValue(string strText)
{
string DecriptedValue ="";
string String = strText.Substring(26); // This line fails
int Count = String.Length - 5;
string EncripEdText = String.Substring(0, Count);
int TotalChar = EncripEdText.Length / 2;
int J = 0;
for (int i = 1; i <= TotalChar; i++)
{
string EnChar = EncripEdText.Substring(J, 2);
string Decrypt = FindPos(EnChar);
DecriptedValue = DecriptedValue + Decrypt;
J = J + 2;
}
return DecriptedValue;
}
public static string FindPos(string EnChar)
{
string StringValue = "abcdefghijklmnopqrstuvwxyz0123456789_-.*@ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string Value = StringValue.Substring(Convert.ToInt32(EnChar), 1);
return Value;
}
公共字符串解密值(字符串strText)
{
如果(strText.LengthWell)大概strText
没有26个字符…请展示一个简短但完整的程序来演示问题,并解释您在诊断错误时所做的操作,给出(非常清楚)的消息…我还强烈建议您不要将String
用作变量名。(一般来说,变量名使用camelCase而不是PascalCase。)在其他注释的基础上,您是否试图只使用最多26个字符的strText
(以排除超过26个的其他字符)?顺便说一句,例外情况在。。。
public string DecryptValue(string strText)
{
if (strText.Length<26)
{
MessageBox.Show("invalid argument length");
return;
}
string DecriptedValue ="";
string myString = strText.Substring(26); // This line fails
int myCount = myString.Length - 5;
...
}