C# 怎么把一个类中的数据传递到另一个类里并保存

类A得出的数据传递到类B中并保存 类C可以直接调用类B的数据了
我在类C当中直接实例化类B 再调用 没有数据 要怎么做才能在B中保存A的数据 之后用其他类可以直接访问。

类A得出的数据传递到类B中并保存 类C可以直接调用类B的数据了
我在类C当中直接实例化类B 再调用 没有数据 要怎么做才能在B中保存A的数据 之后用其他类可以直接访问。

您的目标是:在类C中直接"实例化"类B
您的实例化与您所谓的保存存在一定的冲突.

我给您先解释这个冲突再来解答您的问题.
冲突是:实例化意味着重新初始化.
如果初始化了那么就说明不存在旧数据.但是您要的是B中保存A的数据.

按照这个思路来讲. 您的意思其实就是说.B中有一个属性.他付完毕值后就不会动了.
另外一个类,或者说不管任何一个类都能访问到.
刚好映射您的"之后用其他类可以直接访问。"

有两种办法.

第一种:
B作为全局对象出现.那么所有类都可以访问了.
但是这个跑题.与您要达到的目的不同.
第二种:
B中有一个字段或属性作为Static出现
那么当付完值后重新初始化则可以不变

public class B
{
public static string b = "abc";

public string BBB{ get { return B.b; } set { BBB.b = value; } }
}
定义这样一个类
做这样一个测试
var a1 = B.b;
B.b = "zxc";
var zxc = new B();
var a2 = zxc.BBB;
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-20
把在B类定义成static,里面的变量也是static,比如:public static int sum=0;
在A类里面这样赋值给B类中的sum:B.sum=12;在C类中也可以直接取值:int sum=B.sum;
第2个回答  推荐于2017-09-18
>我在类C当中直接实例化类B 再调用 没有数据
实例化类B之后,有没有做“类A得出的数据传递到类B中并保存”这个动作?(注意,A的数据传递目标不是类B,而是你那个实例化的类B)追问

就是因为A得出数据传给B 这个步骤内容太多了 所以想一次保存在B中 以后直接调用B的

追答

B不要在C中实例化,在C外面实例化,即把B对象做成全局变量,而不是C中的一个成员。
C直接操作全局对象B即可。

本回答被提问者和网友采纳
第3个回答  2014-03-20
B类中定义一个全局变量用来保存数据。
这样C类就可以了追问

定义了全局变量 引用的时候 还是初始值

追答

你在B类的时候,把传过来的值 赋值给定义的全局变量不就行了。

C# 怎么把一个类中的数据传递到另一个类里并保存
另外一个类,或者说不管任何一个类都能访问到.刚好映射您的"之后用其他类可以直接访问。"有两种办法.第一种:B作为全局对象出现.那么所有类都可以访问了.但是这个跑题.与您要达到的目的不同.第二种:B中有一个字段或属性作为Static出现 那么当付完值后重新初始化则可以不变 public class B { public ...

C#将一个类中的数值赋值给另一个类
假如该类中数据是值类型的,那么你可以写一个方法,在该方法中创建一个该类的新的实例,然后赋值,并返回。假如该类中的数据是引用类型的,你使用上述方法还是不行,必须把该引用类型按照上面的方法再做一次。具体问题具体分析,C#中好多内置的类提供了Clone方法,但都是浅克隆,也就是说如果类中包含...

C#中的窗体程序 想让一个窗体上textbox中的值 传递到另一个label中
最简单的方法是你先新建一个静态类 在类里面定义一个string 类型的变量 在登陆成功后给这歌变量赋值,然后就可以在登陆后的窗户使用了 public static CommonData { public string StudentId(){get;set;} } 登陆成功后赋值:CommonData.StudentId="2010307200111";使用的时候 label.Text =CommonData.Stud...

C#怎么样实现把数据从数据库的一个表取出存入数据库的另一个表中
直接SQL语句啊,如果这个目标表TabB不存在可以用下面的语句 select fieldlist into tabB from tabA 这时候会自动创建目标表 如果目标表已经存在,是要往里面追加一些数据的话,可以用 insert into TabB (fieldlist)select fieldlist from TabA fieldlist为字段列表 ...

C#怎样实现从数据库中把数据传到另一个数据库中
第三,用编程语言(VB、C#等)便历每个表,用链接数据库的形式把链接表内容入目的表(快办法);或便历每个源表后,用程序实现遍历每条记录,逐行插入目的表(笨办法)。2.如果存在表间的外键约束,那么我建议你还是手工来进行资料的导库。另外,如果不是存在大批量导库的问题的话,我也建议你还是...

c#中怎样将一个窗体的数据传到另外的一个窗体中
在b窗体创建一个带参数的构造函数 参数为a窗体 在a窗体触发事件时实例b窗体 将a窗体作为参数传入到窗体的实例 此时a窗体和b窗体就产生了关联 代码如下:a窗体:public partial class Form1: Form { public Form1){ InitializeComponent();} private void button1_Click(object sender, EventArgs e){ ...

C#数组中,把相同的元素提取出来,放入另一个数组中
这个时候最好使用List<string>或ArrayList(system.collection).使用数组也可以做出来。另外,如果只是单个字符的还可以使用string来做。下面只给出List<string>的求解办法。\/\/空手写的,你自己去调试,不过一般没错的 string[] array=new string[]{ "7","4","7","1","4","1","5","2","5"...

在c#中怎样将(数据库)表中的一行数据移动到另一个(同一数据库)表中?
Insert Into的另一种用法,也就是把检索出来的数据,批量添加到数据库中,其语法是:INSERT INTO 表格名1 (列名11,列名12, ...) SELECT 列名21, 列名22, ... FROM 表格名2 以上的语法是最基本的语法。在Select后,还可能含有 WHERE、 GROUP BY、 及 HAVING 等子句,以及表格连接及别名等等。

怎么让一个在一个类里输入数据,在另一个类里使用
C#是一个面向对象的编程语言。这种编程模式关注的是对象的行为和属性。比如猫抓老鼠这个例子中:猫和老鼠都是对象,用两个类表示:猫类Cat,老鼠类Mouse。猫表现出了两种行为:听(老鼠的叫声)Listen(Mouse)和抓(老鼠)Catch(Mouse);至少一种属性:行动速度Speed。老鼠表现出了一种行为:叫Chitter;...

C# sql 把一个服务器上的内容读到另一个服务器里
先读到datatable里面,在使用SqlBulkCopy类批插进去,这个比较快,比传统insert快很多,10万条数据,SqlBulkCopy方式只要十几秒,普通insert要半小时

相似回答