C# 嵌套结构作为类中的成员
我正在写一个包含90个整数变量的类。基本上有10个,但每个都有3x3个属性,使它们成为90个。我会进一步解释的 所以我有10个变量:v0,v1,v2,…,v9。对于城市、县和州,每个值都有3个不同的值。此外,对于过去、现在和未来,每一项都有3个不同的值 因此,一个典型的值是:v3.City.Future或v7.State.pass或v8.country.Present 我想实现一个类,每个变量有10个结构,然后每个结构都有3个嵌套结构(城市、县和州),每个结构都有3个整数变量,分别代表过去、现在和未来 这仍处于概念阶段。我试图采用上述方法,但不起作用。请随时提出建议 谢谢 更新: 以下是代码片段:C# 嵌套结构作为类中的成员,c#,.net,class,struct,C#,.net,Class,Struct,我正在写一个包含90个整数变量的类。基本上有10个,但每个都有3x3个属性,使它们成为90个。我会进一步解释的 所以我有10个变量:v0,v1,v2,…,v9。对于城市、县和州,每个值都有3个不同的值。此外,对于过去、现在和未来,每一项都有3个不同的值 因此,一个典型的值是:v3.City.Future或v7.State.pass或v8.country.Present 我想实现一个类,每个变量有10个结构,然后每个结构都有3个嵌套结构(城市、县和州),每个结构都有3个整数变量,分别代表过去、现在
public class MyClass
{
public MyVariable myvariable;
}
public struct MyVariable
{
public struct National
{
public int Past { get; set; }
public int Present { get; set; }
public int Future { get; set; }
}
...
}
现在,当我实例化该类并访问该成员(myclass.myvariable.National.pass)时,它不会获取该成员。您的“问题”实际上根本不是一个问题,但这里有一组简单的类来完成它。我使用类而不是结构,因为如果使用结构,您需要了解一些“陷阱”
除非您描述“它不工作”,否则我打赌您的问题实际上是您试图使用结构
请发布您的代码,并描述您的症状,以便我们更好地帮助您
public class Foo<T>
{
public T Future;
public T Present;
public T Past;
}
public class Bar
{
public Foo<string> City;
public Foo<string> State;
public Foo<string> Country;
}
public class Top
{
public Bar v0;
public Bar v1;
//...
public Bar v2;
}
公共类Foo
{
公共关系与未来;
公众不在场;
公众的过去;
}
公共类酒吧
{
公富城;;
公共食品州;
公共食品国家;
}
公务舱头等舱
{
公共酒吧v0;
公共酒吧v1;
//...
公共酒吧;
}
根据您的评论,您似乎在混合类型和实例:
假设您的MyVariable如下所示:
public struct MyVariable
{
public struct National
{
public int Past;
}
public National ValueForNational;
}
myclass.myvariable.National
-它是一种类型(不会编译)
myclass.myvariable.National.pass
-它是类型的成员(不会编译)
myclass.myvariable.ValueForNational
-是myclass'变量中myvariable成员成员的值(将编译)
myclass.myvariable.ValueForNational.pass
-可能是您想要的…以下是答案:
public struct PeriodVars
{
public int Past { get; set; }
public int Present { get; set; }
public int Future { get; set; }
}
public struct VarStruct
{
public PeriodVars City;
public PeriodVars County;
public PeriodVars State;
}
现在课程将是:
public class MyClass
{
public VarStruct v0;
public VarStruct v1;
...
}
一旦我实例化了类的一个对象,我就可以这样引用它:
objMyClass.v0.City.Past = 111;
除了批评之外,我把它贴在这里并没有得到什么帮助
通常,一个人无法理解被视为另一个人无法解释。我花了15-20分钟写问题,人们在不到30秒的时间内就开始投票了。你说的“它不起作用”是什么意思?听起来应该是一门课,也许你可以发布一些代码,这样我们就可以看看什么不起作用,并能够提供帮助。听着,伙计们,如果你不能理解这个问题,即使它被回答了,你也不必经常投反对票。这太荒谬了。你能为“现在当我实例化类并访问成员(myclass.myvariable.National.Past)时,它没有得到成员”发布代码吗;如果这是您的全部代码,那么除了实例化类之外,您什么也没做。您如何设置这些值?您如何检索这些值?你在看什么?你希望看到什么?我们不是通灵者。