C# 自定义类型?
C# custom types?
我正在研究一个使用多项式的计算器,我想知道我是否可以制作某种“自定义类型”来代替字符串列表数组。
因此,例如,我想写 Polynomial polynomial
而不是 List<string>[] polynomial
,其中 Polynomial
类型是 List<string>[]
(这意味着我可以使用它与我目前使用 List<string>[]
的方式完全相同,因此,例如,我可以像现在一样使用多项式 [n][i] 访问值)
有什么办法吗?
根据@BionicCode 的建议,我使用了继承多项式 class
public class Polynomial : List<List<string>>
{
}
并且它按预期工作。我确实必须将 List<string>[]
更改为 List<List<string>>
因为否则它会抛出“无效的基类型”错误,但它仍然以相同的方式运行:
Polynomial polynomial;
创建一个新变量并
polynomial[n][i]
访问其值。
为了实例化我使用的新多项式
polynomial = new Polynomial();
for (int i = 0; i < length; i++)
{
polynomial.Add(new List<string>());
}
多项式使用以下代码class。
public class Polynomial
{
public List<Monomial> monomials = new List<Monomial>();
public Polynomial(List<Monomial> allMonomials)
{
monomials = allMonomials;
}
public Polynomial()
{
monomials = new List<Monomial>();
}
}
并为单项式使用下面的代码 class。
public class Monomial
{
public List<string> items = new List<string>();
public Monomial()
{
items = new List<string>();
}
public Monomial(List<string> allItems)
{
items = allItems;
}
}
综上所述,您可以像以下代码中看到的那样简单地创建新的单项式和多项式对象
List<Monomial> monomials = new List<Monomial>();
monomials.Add(new Monomial(new List<string>() {"A", "B", "C"}));
monomials.Add(new Monomial());
Polynomial polynomial = new Polynomial();
Polynomial polynomial2 = new Polynomial(monomials);
我正在研究一个使用多项式的计算器,我想知道我是否可以制作某种“自定义类型”来代替字符串列表数组。
因此,例如,我想写 Polynomial polynomial
而不是 List<string>[] polynomial
,其中 Polynomial
类型是 List<string>[]
(这意味着我可以使用它与我目前使用 List<string>[]
的方式完全相同,因此,例如,我可以像现在一样使用多项式 [n][i] 访问值)
有什么办法吗?
根据@BionicCode 的建议,我使用了继承多项式 class
public class Polynomial : List<List<string>>
{
}
并且它按预期工作。我确实必须将 List<string>[]
更改为 List<List<string>>
因为否则它会抛出“无效的基类型”错误,但它仍然以相同的方式运行:
Polynomial polynomial;
创建一个新变量并
polynomial[n][i]
访问其值。
为了实例化我使用的新多项式
polynomial = new Polynomial();
for (int i = 0; i < length; i++)
{
polynomial.Add(new List<string>());
}
多项式使用以下代码class。
public class Polynomial
{
public List<Monomial> monomials = new List<Monomial>();
public Polynomial(List<Monomial> allMonomials)
{
monomials = allMonomials;
}
public Polynomial()
{
monomials = new List<Monomial>();
}
}
并为单项式使用下面的代码 class。
public class Monomial
{
public List<string> items = new List<string>();
public Monomial()
{
items = new List<string>();
}
public Monomial(List<string> allItems)
{
items = allItems;
}
}
综上所述,您可以像以下代码中看到的那样简单地创建新的单项式和多项式对象
List<Monomial> monomials = new List<Monomial>();
monomials.Add(new Monomial(new List<string>() {"A", "B", "C"}));
monomials.Add(new Monomial());
Polynomial polynomial = new Polynomial();
Polynomial polynomial2 = new Polynomial(monomials);