24
升級到VS 2017年後,我得到了這個代碼下面的錯誤(這一直可以正常使用)VS 2017錯誤或新功能?
byte[] HexStringToByteArray(string hex)
{
if (hex.Length % 2 == 1)
throw new Exception("The binary key cannot have an odd number of digits");
byte[] arr = new byte[hex.Length >> 1];
for (int i = 0; i <hex.Length>> 1; ++i) // Error in this line
{
arr[i] = (byte)((GetHexVal(hex[i << 1]) << 4) + (GetHexVal(hex[(i << 1) + 1])));
}
return arr;
}
例外:
Error 1: The variable 'i' cannot be used with type arguments
Error 2: 'hex' is a variable but is used like a type
的解決方案是圍繞由括號中的表達式。
for (int i = 0; i < (hex.Length >> 1); ++i)
但這讓我想知道這是一個錯誤還是一個新功能? 謝謝。
不管它是解決方案看起來更乾淨的代碼。 – bansi
這是一個很大的錯誤。 [它屬於](https://github.com/dotnet/roslyn/issues),點擊新問題按鈕。 –
可能的重複[編譯器錯誤:「錯誤CS0307:變量'int'不能用於類型參數」](http://stackoverflow.com/questions/39669720/compiler-error-error-cs0307-the-variable- int-can-be-used-type-argum) – NineBerry