gpt4 book ai didi

C# 未分配的局部变量错误

转载 作者:行者123 更新时间:2023-11-30 22:49:17 25 4
gpt4 key购买 nike

我是 C# 新手。我正在尝试编译以下程序,但最后会抛出一个错误:我知道我犯了一个愚蠢的错误。任何帮助将不胜感激:

static void Main(字符串[]参数) {

        IntPtr hCannedMessages = CannedMessagesInit();

using (StreamReader sr = new StreamReader(CANNED_MESSAGE_FILE))
{
String line, sub;
all_integer_IDs[] myobjarray;// = new all_integer_IDs[10];
for (int c = 0; c < 10; c++)
{
myobjarray[c] = new all_integer_IDs();

}
line = sr.ReadLine();
Console.WriteLine(line);

if (line.Length > 15)
{
sub = line.Remove(line.IndexOf(' ', 2));
Console.WriteLine("{0} \n",sub);

myobjarray[0].setvalues((int)sub[2], (int)sub[3], (int)sub[4], (int)sub[5]);

Console.WriteLine("{0}, {1}, {2}, {3}", myobjarray[0].m_messageID, myobjarray[0].m_messagetype, myobjarray[0].m_classID, myobjarray[0] .m_categoryID);

               Console.Read();
sr.Close();
}

}
}

类在同一个项目的Class1.cs文件中,如下:

公共(public)类 all_integer_IDs {

    public all_integer_IDs() 
{

setvalues(0, 0, 0, 0);

}

~all_integer_IDs()
{
}

public void setvalues (int messageID, int messagetype, int classID, int categoryID)
{
this.m_messageID = messageID;
this.m_messagetype = messagetype;
this.m_classID = classID;
this.m_categoryID = categoryID;
}

public int m_messageID;
public int m_messagetype;
public int m_classID;
public int m_categoryID;

}

错误如下:在第 55 行使用未分配的局部变量“myobjarray”,复制并粘贴如下:myobjarray[c] = new all_integer_IDs();

谢谢,维伦

最佳答案

您还没有为 myObjarray 分配空间。你需要分配它

使用:

all_integer_IDs[] myobjarray = new all_integer_IDs[10];
for (int c = 0; c < 10; c++)
{
myobjarray[c] = new all_integer_IDs();
}

第 55 行。

请使用PascalCase对于类名(在您的情况下为 AllIntegerIDs)。其他开发人员会为此感谢您

--编辑,我的错。修正了调用方式。请尝试以下操作

关于C# 未分配的局部变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1235791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com