gpt4 book ai didi

c# - 在另一个范围内赋予不同的含义

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:38 26 4
gpt4 key购买 nike

在这里,我有一部分代码。在这里,我得到了错误。

错误>>无法在此范围内声明名为“ msg”的局部变量,因为它将赋予“ msg”不同的含义,“ msg”已在“父级或当前”范围中用于表示其他内容

但是我使用SMSHelper类中的所有东西。那么另一个作用域是什么

public class SMSHelper
{
private string msg;
private string convertToISOfromUtf8(String msg, String to, String from)
{

String iso_msg = null;
if (from.Equals("UTF-8"))
{
System.Text.Encoding iso = Encoding.GetEncoding("ISO-8859-1");
System.Text.Encoding utf8 = Encoding.UTF8;

byte[] utfBytes = utf8.GetBytes(msg);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
String msg = iso.GetString(isoBytes);
}

最佳答案

下面用<-- this标记的三行分别表示一个独立变量的声明,每个变量都具有相同的名称msg。因此,它们彼此冲突。

private string msg; // <-- this
private string convertToISOfromUtf8(String msg // <-- this
{
// ...
if (from.Equals("UTF-8"))
{
// ...
String msg // <-- and this
}
}


以下将起作用:

private string _msg;
private string convertToISOfromUtf8(String msg, // ...
{
// ...
if (from.Equals("UTF-8"))
{
// ...
_msg = iso.GetString(isoBytes);
}
}

关于c# - 在另一个范围内赋予不同的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10977917/

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