C# 公共静态IEnumerable<;int>;方法
我正在尝试调用该函数,但无法调用。有没有具体的方法来调用IEnumerable方法 这就是函数C# 公共静态IEnumerable<;int>;方法,c#,syntax,ienumerable,C#,Syntax,Ienumerable,我正在尝试调用该函数,但无法调用。有没有具体的方法来调用IEnumerable方法 这就是函数 public static IEnumerable<int> UpTo(this int minValue, int maxValue) { return maxValue < minValue ? Enumerable.Empty<int>() : Enumerable.Range(minValue, maxValue - minValue + 1); }
public static IEnumerable<int> UpTo(this int minValue, int maxValue)
{
return maxValue < minValue ? Enumerable.Empty<int>() : Enumerable.Range(minValue, maxValue - minValue + 1);
}
公共静态IEnumerable最多(此int-minValue,int-maxValue)
{
返回maxValue
我试着像这样调用函数
var newContainer = new List<int>();
newContainer.Add(1);
newContainer.Add(2);
newContainer.Add(3);
newContainer.Add(4);
var formattedContainer = newContainer.UpTo(10);
var newContainer=newlist();
新容器。添加(1);
新容器。添加(2);
新容器。添加(3);
新容器。添加(4);
var formattedContainer=newContainer.UpTo(10);
功能应为:
public static IEnumerable<int> UpTo(this Enumerable<int>, int minValue, int maxValue)
{
return maxValue < minValue ? Enumerable.Empty<int>() : Enumerable.Range(minValue, maxValue - minValue + 1);
}
公共静态IEnumerable最多(此可枚举,int-minValue,int-maxValue)
{
返回maxValue
功能应为:
public static IEnumerable<int> UpTo(this Enumerable<int>, int minValue, int maxValue)
{
return maxValue < minValue ? Enumerable.Empty<int>() : Enumerable.Range(minValue, maxValue - minValue + 1);
}
公共静态IEnumerable最多(此可枚举,int-minValue,int-maxValue)
{
返回maxValue
您有一个简单的参数不匹配:您的扩展方法将int
声明为此
-参数,而您尝试将其应用于列表
您有一个简单的参数不匹配:您的扩展方法将int
声明为此
-参数,如果要创建新的枚举(如Enumerable.Range),请尝试将其应用于列表,但不要使用此参数,也不要在列表中调用它,请使其与Enumerable.Range一样工作MyClassName.UpTo(2,3)
是有道理的,但我不明白你所说的newContainer.UpTo(10)是什么意思代码>。后一个调用相当于MyClassname.UpTo(newContainer,10)
,第一个参数不是数字。如果要创建新的枚举,如Enumerable.Range,则不要使用此参数,也不要在列表中调用它,使其与Enumerable.Range一样工作MyClassName.UpTo(2,3)
是有道理的,但我不明白你所说的newContainer.UpTo(10)是什么意思代码>。后一个调用相当于MyClassname.UpTo(newContainer,10)
,第一个参数不是数字。这不起作用,因为您扩展了int
,但您正在列表上使用它。如果要使用一种方法将int
扩展到
,该方法创建一个从该数字到上限maxValue
的序列:
public static IEnumerable<int> UpTo(this int minValue, int maxValue)
{
if (maxValue > minValue)
return Enumerable.Range(minValue, maxValue - minValue + 1);
else
return Enumerable.Empty<int>();
}
其中输出:4,5,6,7,8,9,10
如果要扩展列表
,则需要将其作为带有此
关键字的第一个参数
public static void AddUpTo(this List<int> list, int minValue, int maxValue)
{
if (maxValue > minValue)
{
list.AddRange(Enumerable.Range(minValue, maxValue - minValue));
}
}
publicstaticvoidaddupto(这个列表,int-minValue,int-maxValue)
{
如果(最大值>最小值)
{
AddRange(Enumerable.Range(minValue,maxValue-minValue));
}
}
或者,如果要允许效率较低的IEnumerable
:
public static IEnumerable<int> UpTo(this IEnumerable<int> sequence, int minValue, int maxValue)
{
if (maxValue > minValue)
return sequence.Concat(Enumerable.Range(minValue, maxValue - minValue));
else
return sequence;
}
公共静态IEnumerable最多(此IEnumerable序列,int-minValue,int-maxValue)
{
如果(最大值>最小值)
返回序列.Concat(可枚举的.Range(minValue,maxValue-minValue));
其他的
返回序列;
}
这不起作用,因为您扩展了int
,但您正在列表中使用它。如果要使用一种方法将int
扩展到
,该方法创建一个从该数字到上限maxValue
的序列:
public static IEnumerable<int> UpTo(this int minValue, int maxValue)
{
if (maxValue > minValue)
return Enumerable.Range(minValue, maxValue - minValue + 1);
else
return Enumerable.Empty<int>();
}
其中输出:4,5,6,7,8,9,10
如果要扩展列表
,则需要将其作为带有此
关键字的第一个参数
public static void AddUpTo(this List<int> list, int minValue, int maxValue)
{
if (maxValue > minValue)
{
list.AddRange(Enumerable.Range(minValue, maxValue - minValue));
}
}
publicstaticvoidaddupto(这个列表,int-minValue,int-maxValue)
{
如果(最大值>最小值)
{
AddRange(Enumerable.Range(minValue,maxValue-minValue));
}
}
或者,如果要允许效率较低的IEnumerable
:
public static IEnumerable<int> UpTo(this IEnumerable<int> sequence, int minValue, int maxValue)
{
if (maxValue > minValue)
return sequence.Concat(Enumerable.Range(minValue, maxValue - minValue));
else
return sequence;
}
公共静态IEnumerable最多(此IEnumerable序列,int-minValue,int-maxValue)
{
如果(最大值>最小值)
返回序列.Concat(可枚举的.Range(minValue,maxValue-minValue));
其他的
返回序列;
}
您想做什么?修改现有枚举或创建一个新枚举?创建一个新枚举,调用该方法。您想做什么?修改现有枚举还是创建一个新枚举?创建一个新枚举,调用该方法。我缺少参数名称。完整性:它应该放在静态类中,即使它有名称,也不会使用,所以它没有意义。我缺少参数名。为了完整性:它应该放在一个静态类中,即使它有一个名称,它也没有被使用,所以它没有意义。我不想修改这个函数,我只是不知道为什么我不能调用它。@Rubenex:我已经相应地编辑了它。我不想修改这个函数,我只是不知道为什么我不能叫它。@Rubenex:我已经相应地编辑了它。