Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#如何创建存储文本框中字符串值的类_C#_Winforms - Fatal编程技术网

C#如何创建存储文本框中字符串值的类

C#如何创建存储文本框中字符串值的类,c#,winforms,C#,Winforms,我在C#和这个网站上是比较新的 我目前正在尝试使用此应用程序存储员工的数据(例如姓名、姓氏、身份证号码、工资),并根据命令显示所选员工的数据。 我的问题是,我不知道要创建什么样的类,如何构建它,以及每次单击“保存按钮”创建该类的新实例时如何调用它,该实例将保存从表单文本框中提取的数据 我在论坛中搜索过,并在表单中写下: private void button1_Click(object sender, EventArgs e) { Employee newemployee = new

我在C#和这个网站上是比较新的

我目前正在尝试使用此应用程序存储员工的数据(例如姓名、姓氏、身份证号码、工资),并根据命令显示所选员工的数据。
我的问题是,我不知道要创建什么样的类,如何构建它,以及每次单击“保存按钮”创建该类的新实例时如何调用它,该实例将保存从表单文本框中提取的数据

我在论坛中搜索过,并在表单中写下:

private void button1_Click(object sender, EventArgs e) {

    Employee newemployee = new Employee();

    {
        string fname = textBox1.Text;
        string sname = textBox2.Text;
        string id = textBox3.Text;
        string sal = textBox4.Text;

        label5.Text = fname;
        label6.Text = sname;
        label7.Text = id;
        label8.Text = sal;
    }
}
在课堂上:

public class Employee {
    public string fname { get; set; }
    public string sname { get; set; }
    public string id { get; set; }
    public string sal { get; set; }
}
但作为一个结果,当然,这个类根本没有被使用(显然是因为它没有完成),标签直接通过文本框打印出来


注意:我把标签放在那里是为了在这个过程中测试类。您可以这样实例化您的类:

Employee newEmployee = new Employee()
    {
        fname = textBox1.Text,
        sname = textBox2.Text,
        id = textBox3.Text,
        sal = textBox4.Text
    };

然后编写一个方法,将员工保存在数据库/文件中,在单击事件中实例化后调用该数据库/文件。

在类中,您已经创建了字符串值,这些值将在创建类实例时创建:

Employee newemployee = new Employee();
这将为类中声明的所有变量创建内存空间

public class Employee 
{
    public string fname { get; set; }
    public string sname { get; set; }
    public string id { get; set; }
    public string sal { get; set; }
}
然后,您要做的是创建附加字符串,方法是:

string fname = textBox1.Text;
string sname = textBox2.Text;
string id = textBox3.Text;
string sal = textBox4.Text;
因此,在初始化类时,它创建了应该用于该类实例的变量。以下代码表示初始化该类并使用示例代码中的变量:

Employee newemployee = new Employee();

newemployee.fname = textBox1.Text;
newemployee.sname = textBox2.Text;
newemployee.id = textBox3.Text;
newemployee.sal = textBox4.Text;

label5.Text = newemployee.fname;
label6.Text = newemployee.sname;
label7.Text = newemployee.id;
label8.Text = newemployee.sal;

希望这能帮助您,并解释您的错误所在。

您没有在调用脚本中初始化您的类,因此它无法看到它。我建议阅读MS文档:


它有一个示例,可以完成您需要它做的事情。

您可以从类中创建实例和,并设置属性

Employee newEmp = new Employee();
newEmp.fname = textBox1.Text;
newEmp.sname = textBox2.Text;
newEmp.id = textBox3.Text;
newEmp.sal = textBox4.Text;

看看演示者模式,不要说:string fname=textBox1.Text;Put:newemployee.fname=textBox1.Text;“这个类根本没有被使用(显然是因为它没有完成)”不完全正确。它实际上是被使用的。但是你的问题是,当你使用前面的
字符串时,你需要声明新的局部变量。这样就不需要使用类属性。在初始化
newemployee
并查看您编写的结果时,删除所有变量前面的
字符串
,它只是创建新的
newemployee
,然后打开作用域并做一些与新创建的
newemployee
对象无关的事情。看看为什么?第一行不起作用而第二行起作用有什么原因吗?您正在通过说出string fname创建一个新字符串。您的类已经为字符串fname存储了内存。您正在创建一个字符串,而不是使用您的类已经创建的字符串。i不创建字符串;)这不是我的帖子。我只问一些恼人的问题来帮助人们改进他们的帖子:)你在评论中写的这些信息属于你的答案。它们将提高产品的质量it@MongZhu谢谢你,我在赶时间回答,但希望现在能达到标准