有没有办法将以下if else条件转换为C#中的Switch语句。我正在使用Equals方法检查类型,但无法转换为switch case。
if (fi.FieldType.Equals(typeof(int)))
{
fi.SetValue(data, BitConverter.ToInt32(buffer, 0));
}
else if (fi.FieldType.Equals(typeof(bool)))
{
fi.SetValue(data, BitConverter.ToBoolean(buffer, 0));
}
else if (fi.FieldType.Equals(typeof(string)))
{
byte[] tmp = new byte[la.length];
Array.Copy(buffer, tmp, tmp.Length);
fi.SetValue(data, System.Text.Encoding.UTF8.GetString(tmp));
}
else if (fi.FieldType.Equals(typeof(double)))
{
fi.SetValue(data, BitConverter.ToDouble(buffer, 0));
}
else if (fi.FieldType.Equals(typeof(short)))
{
fi.SetValue(data, BitConverter.ToInt16(buffer, 0));
}
请帮助我们...
该文本无需翻译。
FieldType
的值。常见的 switch 语句可以解决问题。 - Panagiotis Kanavostypeof(x)
进行比较,编译器会抱怨你需要使用一个常量值。 - DavidG