如何将字符串值保存到 c# Windows 应用程序中的另一个字符串

本文关键字:字符串 应用程序 Windows 另一个 保存 | 更新日期: 2023-09-27 18:31:26

我在类 Form1 中定义了上面定义的user_name:表单

user_name上面定义为,

string user_name = "Rammy";

我想在下面的行中使用此user_name,但它没有执行,并给出错误"字段初始值设定项无法引用非静态字段、方法或属性"。

string copyright_bottom_text = user_name;

有人可以帮忙吗?我正在使用Visual Studio 2012。

如何将字符串值保存到 c# Windows 应用程序中的另一个字符串

移动到

行下方的构造函数或方法

string copyright_bottom_text = user_name;

编译器错误 CS0236

实例字段

不能用于初始化其他实例字段 方法之外。如果您尝试在 方法,考虑在类内部执行初始化 构造 函数。有关更多信息,请参见方法(C# 编程指南)。

public class MyClass
{
   public int i = 5;
   public int j = i;  // CS0236
   public int k;      // initialize in constructor
   MyClass()
   {
      k = i;
   }
   public static void Main()
   {
   }
}

您可能尝试从静态方法访问user_name变量。有静态和实例变量/方法。静态的属于类本身,不属于从该类创建的实例。所有实例都通过类访问数据,但是如果您更改它,它将为所有实例更改 - 当然因为它属于该类。这是它的样子:类的东西{ 私有静态字符串 StaticString = "我属于该类"; ... 构造 函数 ...}然后,当您创建此类的实例时:某物 s = 新某物();你不能说字符串 x = s.静态字符串;因为它属于类"某物",而不是实例"s"。不过你可以说字符串 x = Something.StaticString;

在您的示例中,您尝试从静态方法访问实例变量。这与上述相反:user_name在每个实例中都是唯一的(例如,您可以有一个名为 Joe 的实例,一个名为 Robert 的实例等)。但是你尝试在课堂层面上使用它。该类对基于它创建的实例一无所知。这就像当你给你的狗起名字时,所有的狗都应该叫同样的名字。它不起作用。

尝试使用静态字符串作为user_name,这样它就可以编译,但它不会正确。相反,请将变量保留为实例变量(非静态),并在实例方法中使用它(非静态)。请记住,您可以在实例方法中使用静态方法和变量,但不能在静态方法中使用实例变量或方法。

我希望这有所帮助。 :)