使用未分配的局部变量 - if语句

Pip*_*Boy 3 c# unassigned-variable

我正在执行以下代码块,并且编译器抱怨未分配的局部变量,并且可以使用一些帮助来识别出什么.

while (rsData.Read())
{
    if (rsData["TYPE"] != DBNull.Value)
        strType = rsData["TYPE"].ToString().Trim();


    if (strType == "01")
    {
        if (rsData["Text"] != DBNull.Value)
            strwho = rsData["Text"].ToString();

        if ((strwho.Length < 10 || (strwho.IndexOf("NULL") > 1)))
            strwho = "";
    }
    else if (strType == "07")
    {
        if (rsData["Text"] != DBNull.Value)
            strmetades = rsData["Text"].ToString();

        if ((strmetades.Length < 10 || (strmetades.IndexOf("NULL") > 1)))
            strmetades = "";
    }
Run Code Online (Sandbox Code Playgroud)

它抱怨所有'if(strType =="01")'行,我不确定是什么.我曾想过为此使用一个开关,但似乎也遇到了同样的问题.

有任何想法吗?

jor*_*hmv 15

在声明字符串strType时,您必须分配一个值,例如

string strType = null;
Run Code Online (Sandbox Code Playgroud)

更多细节:编译器错误CS0165