C# 用另一种方法从列表中获取变量?

C# 用另一种方法从列表中获取变量?,c#,list,variables,C#,List,Variables,我正在写一个网络摄像头应用程序,我需要写和读大约15个变量。我有两个窗体,主窗口和选项窗口。保存选项时,我会执行以下操作: string[] lines = {x , y, ..., z }; System.IO.File.WriteAllLines(@"config.cfg", lines); 在我的主窗口中,我使用StreamReader函数读取变量: public void Foo() { List<string> lines = new List<str

我正在写一个网络摄像头应用程序,我需要写和读大约15个变量。我有两个窗体,主窗口和选项窗口。保存选项时,我会执行以下操作:

string[] lines = {x , y, ..., z  };

System.IO.File.WriteAllLines(@"config.cfg", lines);
在我的主窗口中,我使用StreamReader函数读取变量:

public void Foo()
{

    List<string> lines = new List<string>();

    while (!reader.EndOfStream)
    {
        lines.Add(reader.ReadLine());

        reader.Close();
    }

    x = Convert.ToInt32(lines[0]);
    y = Covert.ToString(lines[1]);
    // and so on...
}
public void Foo()
{
列表行=新列表();
而(!reader.EndOfStream)
{
添加(reader.ReadLine());
reader.Close();
}
x=转换为32(行[0]);
y=隐蔽的ToString(第[1]行);
//等等。。。
}
问题是我不知道如何用另一种方法访问
x
y
。顺便说一句:我将所有变量声明为公共静态变量。有人能帮忙吗

编辑

这是一个windows窗体应用程序,两个窗口不同时存在。也许有人可以给我一个提示,如何使用不同的方法存储这些变量?我知道我能做的唯一一件事就是使用MySQL数据库存储VAR,但这没有多大意义


我想澄清一下:我想做的是将
x
y
从方法
Foo
传递到另一个方法。我不能使用全局变量,因为从文件中读取变量需要一个方法。

这两种形式是否同时存在?i、 e在skype中,您有您的skype主窗口和聊天窗口吗

如果是这样,只需制作一个CameraUpdated事件,将更改的行发送给任何订阅者,这样您就可以让主窗口绑定到任何新的子窗口事件,这样它就会得到通知

为此,您需要创建一个自定义事件arg来传递数据,为事件名称和args创建一个委托,并在表单上公开实际事件

但是,如果一次只存在一个表单,则可以将数据推送到内存中,然后将其读取(与当前的实现非常类似),或者在从一个表单切换到另一个表单时,传入已更改的数据


最终,我会尽量避免使用全局样式的数据,无论是在文件、内存还是全局程序变量中,并选择一些松散耦合的方法,但在不了解实际实现的情况下,很难建议具体的解决方案。

声明为
公共静态的类成员可以通过以下方式访问:

ClassName.MemberName

如果下次需要,请使用properties=>setting保存您的值。
它很简单,可以帮助您避免一些问题

您在哪里声明x和y?为什么不将
string[]行声明为public static呢?将x和y设置为viewstates会有帮助吗?或者你的线阵列保存在ViewState中。嗯,我不知道如何开始回答你的问题。你做错了,但很难向你解释…这是一个网络摄像头应用程序。但是,这是winform还是web应用程序?这两个表单可能同时存在,但随后相机流关闭。当流重新打开时应用这些设置(变量应保持fps值等)。如果你能给我展示另一种写/读变量的方法,我会非常感激的。OK,找到了一个关于CodeProject的教程,帮了我很多!谢谢