求助+散分 : 如何把以下的if语句用switch实现!!!
各位大侠,谁能帮我把以下的语句用Switch实现出来,谢了!!
=====================================================================================
public void Test(System.Type objDataType)
{
string t1 = objDataType.ToString();
string t2 = typeof(System.String).ToString();
if (t1 == typeof(System.String).ToString())
t1 = "A";
else
t1 = "B";
}
=====================================================================================
------解决方案-------------------- public void Test(System.Type objDataType)
{
string t1 = objDataType.ToString();
string t2 = typeof(System.String).ToString();
//if (t1 == typeof(System.String).ToString())
//t1 = "A";
//else
//t1 = "B";
switch(objDataType)
{
case typeof(System.String):
t1 = "A";
break;
default:
t1 = "B";
break;
}
}
------解决方案-------------------- public void Test(System.Type objDataType)
{
string t1 = objDataType.ToString();
string t2 = typeof(System.String).ToString();
//if (t1 == typeof(System.String).ToString())
//t1 = "A";
//else
//t1 = "B";
switch(t1)
{
case "typeof(System.String).ToString()":
t1 = "A";
break;
default:
t1 = "B";
break;
}
}
------解决方案--------------------switch(objDataType.Name)
{
case "String":
t1 = "A";
break;
default:
t1 = "B";
break;
}
LZ多自己实践~~
------解决方案--------------------其实已经差不多了, 两者都一样
switch(objDataType.Name)
{
case typeof(System.String).Name:
t1 = "A";
break;
default:
t1 = "B";
break;
}
------解决方案--------------------CASE后只能跟常量。。20楼的通不过是正常的。
------解决方案-------------------- 又何必非要用 typeof(Object)。tostring();呢
你反射完之后也只是将其tostring成字符串
不如直接 用"System.String"
string t1 = "asfd";
string t2 = typeof(System.String).ToString();
if (t1 == typeof(System.String).ToString())
t1 = "A";
else
t1 = "B";
Swich(t1)
{
case "System.String":
//TDO: U R CODES
break;
case "System.Int32":
//TDO: U R CODES