c#怎么将一个struct的返回值传递

现在我有2个类第一个类中有个函数的返回类型是struct型struct在前面已经定义了在另一个类中我调用了这个函数,得到了这个struct的返回值。我想将这个struct... 现在我有2个类
第一个类中有个函数的返回类型是struct型 struct在前面已经定义了
在另一个类中我调用了这个函数,得到了这个struct的返回值。
我想将这个struct值赋给这个类中的一个对象,这样我就不用每次要调用这个struct里面值的时候就要执行一次这个函数了 请问怎么实现 是要在本类中重新建一个一样的struct类型再重新一个个赋值吗?
展开
 我来答
杀退江湖
推荐于2018-05-07 · TA获得超过106个赞
知道答主
回答量:41
采纳率:0%
帮助的人:42.9万
展开全部
不需要再本类中重新建一个一样的struct类型
public struct StructA
{
....
}

public class ClassB
{
public StructA aStrcutA{get;}

private StructA ProduceStructA
{
....

return ....

}

public ClassB()
{
// 在构造方法里完成对aStrcutA赋值

ProduceStructA();

}

}
这样,你在外部只需要
Class b=new ClassB();
b.aStrcutA就可以获得这个struct了。
但我不是很明白你的意思,你是想要在任何地方(任何类或者方法里)都可以获取到这个aStrcutA,而且,获取到的都是同一个aStrcutA吗?那就用public static StructA aStrcutA{get;}
在外面直接通过ClassB.aStrcutA就能获取它。
有问题随时追问。
打字不容易,有用请采纳。
对了,忘记说明了,C#里,struct是值类型,是复制的实例赋值的。
比如:StructA a=new StructA ();
StructA b=a;此时,比是相当于是把a的内存复制了一份赋值给了a;

但对于class,是引用类型,是复制的引用,而非实例。
比如:
ClassB b=new ClassB();
ClassB a=b;此时,a和b指向的是同一个实例,即b所做的修改同样会影响到a。
出生神探
2012-09-27 · 超过23用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:40.6万
展开全部
答案肯定是不用重新新建的
第一个类是A A里有个struct是student //这个struct必须是public 而起student的属性也必须是public
A有个方法 returnStudert()
第二个类 B B里有一个成员a A a=new A() 还一个 A.student s=new A.student()
然后。通过B类调用A类的returnStudent就可以赋值给 B种的s成员了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z1h2p31983
2012-09-27 · TA获得超过251个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:157万
展开全部
我不太明白你的意思,你是指如何把一个方法的struct类型的返回值赋给一个struct类型类成员?
我简单写了一下,不知道符不符合你的意思哈
//定义结构体
struct MyStruct
{
public int num;
public string str;
public MyStruct(int num, string str)
{
this.num = num;
this.str = str;
}
}
//定义方法
private MyStruct method()
{
MyStruct struct1;
struct1.num = 1;
struct1.str = "abc";
return struct1;
}
//类的MyStruct成员变量
MyStruct struct2;
//返回值赋给成员变量
struct2 = method();
就这么简单
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yajiedesign
2012-09-27 · TA获得超过286个赞
知道小有建树答主
回答量:479
采纳率:0%
帮助的人:308万
展开全部
直接用一个这个struct类型的变量保存就行了.
c# 里struct 和类很像的.
不过不建议用struct,如果类可以自己控制,把struct改成class吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MyAppleKnows
2012-09-27 · TA获得超过695个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:419万
展开全部
应该就是你说的,在本类B中建立一个struct类型的成员,然后在类B的构造函数中,调用类A返回struct的那个函数,给这个成员赋值。之后,B类使用这个成员即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式