c#使用未分配的局部变量

时间:2015-11-20 11:20:21

标签: c#

嗨,这是我的代码,我想在列表中添加字符串,但我收到此错误

  

使用未分配的局部变量

这是我的代码

Error 2   Use of unassigned local variable 'local_token'  C:\Users\Alireza\Documents\Visual Studio 2013\Projects\tslnc\tslnc\Program.cs   46  25  tslnc

嗨这是我的代码,我想在我的列表中添加字符串,所以得到此错误'http://www.facebook.com/dialog/share?href=' + shareURL + '&app_id=' + fbAppID + '&redirect_uri=' + redirectURL + '&picture=' + mediaURL + '&caption=' + caption + '&description=' + description

5 个答案:

答案 0 :(得分:4)

将local_token的声明更改为:

string local_token = "";

如果您没有为字符串指定值,则不会对其进行初始化(未分配)。

答案 1 :(得分:3)

您声明了一个变量:

string local_token;

然后你试着引用它的值:

local_token += character[i];

但你永远给了一个值。它是 null 。它的未分配

只需使用默认值声明:

string local_token = string.Empty;

答案 2 :(得分:1)

我正在分享一个简单的单线答案: -

You are only generating new instance, but you didn't assigned with any value, So you are getting run time error.
  

string local_token;

     

local_token = string.empty;

现在只需在代码中添加第二行。希望这篇文章能提供更多帮助:)。

答案 3 :(得分:0)

你必须在使用前初始化变量......

 string local_token=string.Empty;

答案 4 :(得分:0)

要扩展其他答案,而不是使用local_token Stringbuilder,您可以使用Stringbuilder

在一个循环中,使用string(“How to improve string concatenation performance in Visual C#”)+会比使用Stringbuilder(“java documentation”)附加 StringBuilder local_token = new Stringbuilder(); while (char.IsLetterOrDigit(character[i + 1]) || character[i + 1] == '_') { local_token.Append(character[i]); tokens.Add(local_token.ToString()); local_token.Clear(); } 更快,使用的内存要少得多。 / p>

实施System.currentTimeMillis()

System.currentTimeMillis() + 2H