const string bopp = "bopp";
const string cpp = "cpp";
const string sum = "sum";
string stest = "sum";
string Tsql;
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
}
SqlDataAdapter thisAdapter = new SqlDataAdapter(Tsql, thiscon); 现在的问题是在执行最后一条语句时,提示我局部变量Tsql未赋值!! 求高人指教!
const string cpp = "cpp";
const string sum = "sum";
string stest = "sum";
string Tsql;
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
}
SqlDataAdapter thisAdapter = new SqlDataAdapter(Tsql, thiscon); 现在的问题是在执行最后一条语句时,提示我局部变量Tsql未赋值!! 求高人指教!
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
MessageBox.Show(stest.ToString());
break;
}
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
break;
}
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
break;
}
const string cpp = "cpp";
const string sum = "sum";
string stest = "sum";
string Tsql=string.empty;
这样就可以了
const string sum = "sum";
string stest = "sum";
string Tsql="";
这样写就可以啦!
switch (stest)
{
case bopp://你比较的是字符串 case "bopp":
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp://case "cpp";
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum://case "sum";
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
}
这样应该就可以了
switch (stest)
{
case bopp://你比较的是字符串 case "bopp":
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp://case "cpp": Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum://case "sum": Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
}
这样应该就可以了
顶1楼
加上default:默认值
{
case 1:
express;
break;
case 2:
express;
break;
case 3:
express;
break;
default:
express;
break;}
default:
Tsql = "sasasa";
break;
或者在声明后面赋初始值。因为Tsql在switch之前,只是声明了,尚未赋值。当匹配不到switch里面的条件,Tsql就得不到值,所以会报错。
string stest = "sum";
string Tsql;
switch (stest)
{
case "bopp":
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case "cpp":
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case "sum":
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
break;
}
Console.WriteLine(Tsql);
因为在default这条路径上没有对Tsql进行赋值。
const string cpp = "cpp";
const string sum = "sum";
string stest = "sum";
string Tsql;
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
}if(!String.IsNullOrEmpty(Tsql))
{
SqlDataAdapter thisAdapter = new SqlDataAdapter(Tsql, thiscon);
}
哪怕是个null是个0或者别的没有意义的东西。
你的问题描述不确切哦,不是执行的时候提示吧,应该是你在编写代码的时候编译器就会提示,你这个编译就不通过哦!
哦,难道你是动态编译的?
(
里面有个default:
break;
)这样保证所有情况都处理了
C# 里面语法检查很严格 如果没有default 前面几项都没有匹配上 就会报异常
并且swtich 需要有default case的
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
break;
}
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
break;
}
switch (stest)
{
case bopp:
Tsql = "select boppcp,weeks from sto_cc_kc_chart";
break;
case cpp:
Tsql = "select cppcp,weeks from sto_cc_kc_chart";
break;
case sum:
Tsql = "select sumcp,weeks from sto_cc_kc_chart";
break;
default:
break;
}
Tsql= String.Empty;
或者
Tsql = "";