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

类A得出的数据传递到类B中并保存类C可以直接调用类B的数据了我在类C当中直接实例化类B再调用没有数据要怎么做才能在B中保存A的数据之后用其他类可以直接访问。... 类A得出的数据传递到类B中并保存 类C可以直接调用类B的数据了
我在类C当中直接实例化类B 再调用 没有数据 要怎么做才能在B中保存A的数据 之后用其他类可以直接访问。
展开
 我来答
Ben
推荐于2017-10-09 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
类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;
幻想武士
2014-03-20 · TA获得超过1074个赞
知道小有建树答主
回答量:639
采纳率:90%
帮助的人:399万
展开全部
把在B类定义成static,里面的变量也是static,比如:public static int sum=0;
在A类里面这样赋值给B类中的sum:B.sum=12;在C类中也可以直接取值:int sum=B.sum;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
推荐于2017-09-18 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3587万
展开全部
>我在类C当中直接实例化类B 再调用 没有数据
实例化类B之后,有没有做“类A得出的数据传递到类B中并保存”这个动作?(注意,A的数据传递目标不是类B,而是你那个实例化的类B)
追问
就是因为A得出数据传给B 这个步骤内容太多了 所以想一次保存在B中 以后直接调用B的
追答
B不要在C中实例化,在C外面实例化,即把B对象做成全局变量,而不是C中的一个成员。
C直接操作全局对象B即可。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f604a81
2014-03-20 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:103万
展开全部
B类中定义一个全局变量用来保存数据。
这样C类就可以了
追问
定义了全局变量 引用的时候 还是初始值
追答
你在B类的时候,把传过来的值 赋值给定义的全局变量不就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式