初始化字符串错误"The value is not available in the current context" ?



我对编程很陌生,目前我正在尝试将c#与XAML结合使用。

出于实践的原因,我选择了一个教程项目,它是一个简单地从sql数据库中创建、更新和删除用户的应用程序。现在我有一个字符串初始化的问题(基本上是用于创建数据库连接的连接字符串(。问题是,我无法拆分包含连接字符串的字符串变量的声明和初始化。

当我这样做的时候:

namespace UserManagement
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public static string conString;
conString = @"XXXXXX"; 
SqlConnection cnn = new SqlConnection(conString);

我得到了初始化"0"的错误消息;conString"其值为:";值";conString"在当前上下文中不可用";(VisualStudio 2019(

而当我这样做的时候,效果很好:

namespace UserManagement
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public static string conString = @"XXXXXX";
SqlConnection cnn = new SqlConnection(conString);

所以区别只是,当分解声明和初始化时,它不起作用,但当我做一次时,它就起作用了。

这并不是一个真正的问题,因为我知道如何让它发挥作用,但我想了解它的行为。

也许有人能帮我吗?

提前感谢您的支持。

向致以最良好的问候

EnSe

这是MainWindow类中一个字段的声明,初始值为@"XXXXXX":

public static string conString = @"XXXXXX";

这是MainWindow类中没有初始值的字段的声明:

public static string conString;

两者都在c#中有效

然而,conString = @"XXXXXX";是一个不能在类级别上完成的赋值,它应该在方法内部,例如构造函数:

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
conString = @"XXXXXX"; 
cnn = new SqlConnection(conString);
}
public static string conString;
SqlConnection cnn;
}

最新更新