该名称在当前上下文中不存在 - grrr
本文关键字:不存在 grrr 上下文 | 更新日期: 2023-09-27 18:33:06
在下面的代码中,无论我尝试什么,名称都会strSide
"does not exist in the current context"
,当我放置如图所示的断点时。 我希望strSide
包含rawId
中的最后一个字符,然后剥离该字符,以便rawId
的值将转换为整数。 我没有收到编译器错误,但确实收到运行时错误。
当rawId
的值为 8429R
时,剥离工作有效,但我无法将R
分配给 strSide。
foreach (string fieldName in Request.QueryString)
{
rawId = fieldName;
String strSide = Convert.ToString(rawId[rawId.Length - 1]); <-- name does not exist
if (!IsNumeric(rawId)) <--break point set here.
{
rawId = StripRightChar(rawId);
}
Qty = Request.QueryString[fieldName];
int productId = 0;
if (fieldName == "txtReference")
{
strComments = Request.QueryString[fieldName];
}
变量
可能已经被"优化"了吗?创建后不会在任何地方使用。有关详细信息,请参阅以下内容:如何防止 C# 编译器/CLR 优化掉 DEBUG 版本中未使用的变量?。
你需要存储在strSide中的值吗?
如果没有,您可以尝试此替代解决方案
更新,因为您需要该值,请尝试以下操作:
var s = "8429L";
var numbers = s.Substring(0, s.IndexOfAny("RLB".ToCharArray()));
var letter = s.Substring(numbers.Length);