我在Visual Studio中编译程序时遇到问题。请帮忙。
。
else
{
string str4 = strArrays1[i];
chrArray = new char[] { ':' };
strArrays = str4.Split(chrArray);
string str5 = strArrays[0];
string str6 = "";
for (j = 1; j < (int)strArrays.Length; j++)
{
str6 = string.Concat(str6, strArrays[j]);
if (j < (int)strArrays.Length - 1)
{
string[] strArrays3 = strArrays;
string[] strArrays4 = strArrays3;
int num1 = j;
IntPtr intPtr = (IntPtr)num1;
strArrays3[num1] = string.Concat(strArrays4[intPtr], ":");
}
}
this.hashTable[str5] = str6;
}
。
问题出现在以下行中:
strArrays3 [num1] = string.Concat (strArrays4 [intPtr], ":");
错误:
CS0266 C# 无法将类型"System.IntPtr"隐式转换为"int"。存在显式转换(您是否缺少强制转换?
您需要按
如下方式将IntPtr
转换为int
。
strArrays3[num1] = string.Concat(strArrays4[(int)intPtr], ":");
但是您首先应该使用int
。然后你不需要演员表来int
.