c#公共建筑优先
这两行给出了错误,我如何修改它c#公共建筑优先,c#,C#,这两行给出了错误,我如何修改它 public const A first; public const B second; 公共类二元组 { 公共建筑第一; 公共建筑B秒; 公共二元组(A,B) { 第一个=a; 第二个=b; } 公共字符串toString() { 返回“+first+”、“+second+”; } } 将此更改为: public class TwoTuple<A,B> { public const A first; public const B s
public const A first;
public const B second;
公共类二元组
{
公共建筑第一;
公共建筑B秒;
公共二元组(A,B)
{
第一个=a;
第二个=b;
}
公共字符串toString()
{
返回“+first+”、“+second+”;
}
}
将此更改为:
public class TwoTuple<A,B>
{
public const A first;
public const B second;
public TwoTuple(A a,B b)
{
first=a;
second=b;
}
public String toString()
{
return ")"+first+", " +second+")";
}
}
无法设置常量,可以在构造函数中设置只读变量。编译时必须知道
常量
变量的值。换句话说,在声明变量时,必须为该变量赋值,比如conststringname=“sharp.m”代码>
有关C#const的更多信息:
编辑
实际上,您根本不能将const与您的类型A
或B
一起使用。对于要声明的变量const
,它必须是字符串、null或值类型(例如int)。正如其他人所说,您应该使用readonly
。您会遇到什么错误?在.NET中已经有Tuple
类可用。答案是:您没有正确使用该语言。对“C#const”
的简单研究将解释为什么你写的东西毫无意义。你是否假设A
和B
是类型?@JonathonReinhart-我想你必须。。。这是唯一有效的答案,因为它们的值在编译时是未知的(大概是)好吧,在编辑之后,我想我看到了他在做什么A
和B
是泛型类型参数。是的,我假设是这样。我更新了我的示例。起初我没有意识到他在使用自己的自定义类型。
public readonly A first;
public readonly B second;