c#2.0中不允许使用默认参数说明符
我在我的程序下面的代码块中遇到了这个错误。我正在将c#与.NET2.0一起使用。它在代码的第一行以小数=2的形式显示此错误。请帮忙c#2.0中不允许使用默认参数说明符,c#,c#-2.0,C#,C# 2.0,我在我的程序下面的代码块中遇到了这个错误。我正在将c#与.NET2.0一起使用。它在代码的第一行以小数=2的形式显示此错误。请帮忙 private string formatSizeBinary(Int64 size, Int32 decimals = 2) { string[] sizes = { "Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; double formattedSiz
private string formatSizeBinary(Int64 size, Int32 decimals = 2)
{
string[] sizes = { "Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
double formattedSize = size;
Int32 sizeIndex = 0;
while (formattedSize >= 1024 & sizeIndex < sizes.Length)
{
formattedSize /= 1024;
sizeIndex += 1;
}
return string.Format("{0} {1}", Math.Round(formattedSize, decimals).ToString(), sizes[sizeIndex]);
}
私有字符串格式SizeBinary(Int64大小,Int32小数=2)
{
字符串[]大小={“字节”、“KB”、“MB”、“GB”、“TB”、“PB”、“EB”、“ZB”、“YB”};
双格式大小=大小;
Int32 sizeIndex=0;
而(formattedSize>=1024&sizeIndex默认参数在.Net 2中不可用
它们仅在.Net 4.0中可用:
默认参数在.Net 2中不可用
它们仅在.Net 4.0中可用:
如果需要此功能,您必须恢复到重载方法,因为在C#2.0中“不允许使用默认参数说明符”
私有字符串格式SizeBinary(Int64大小)
{
返回格式SizeBinary(大小为2);
}
专用字符串格式SizeBinary(Int64大小,Int32小数)
{
字符串[]大小={“字节”、“KB”、“MB”、“GB”、“TB”、“PB”、“EB”、“ZB”、“YB”};
双格式大小=大小;
Int32 sizeIndex=0;
而(formattedSize>=1024&sizeIndex
如果需要此功能,您必须恢复到重载方法,因为在C#2.0中“不允许使用默认参数说明符”
私有字符串格式SizeBinary(Int64大小)
{
返回格式SizeBinary(大小为2);
}
专用字符串格式SizeBinary(Int64大小,Int32小数)
{
字符串[]大小={“字节”、“KB”、“MB”、“GB”、“TB”、“PB”、“EB”、“ZB”、“YB”};
双格式大小=大小;
Int32 sizeIndex=0;
而(formattedSize>=1024&sizeIndex
更具体地说,在C#4.0
中引入了默认参数。但是您可以在.netframework2.0
中使用它们,也可以在VS2010
中构建解决方案。从答案来看-
自1.0以来,CLR中支持默认参数。语言文字
像VB.Net一样,从一开始就一直在使用它们。而第一个
支持它们的C#版本是4.0,它仍然可以生成有效代码
对于2.0 CLR,实际上是这样。因此,可以使用默认值
如果您的目标是3.5 CLR(或2.0、3.0等),请在2010年输入参数
…)
这种类型的支持不限于默认参数。许多新的C#
功能可以在旧版本的框架上使用,因为它们确实可以
不依赖于CLR更改。下面是上支持的其他一些
CLR 2.0及以上版本
命名参数:添加了C#4.0
Lambda表达式:添加了C#3.0
自动属性:添加了C#3.0
扩展方法:添加C#3.0
协方差/逆变:增加了C#4.0
更具体地说,C#4.0
引入了默认参数。但是您可以在.netframework2.0
中使用它们,也可以在VS2010
中构建解决方案。从答案来看-
自1.0以来,CLR中支持默认参数。语言文字
像VB.Net一样,从一开始就一直在使用它们。而第一个
支持它们的C#版本是4.0,它仍然可以生成有效代码
对于2.0 CLR,实际上是这样。因此,可以使用默认值
如果您的目标是3.5 CLR(或2.0、3.0等),请在2010年输入参数
…)
这种类型的支持不限于默认参数。许多新的C#
功能可以在旧版本的框架上使用,因为它们确实可以
不依赖于CLR更改。下面是上支持的其他一些
CLR 2.0及以上版本
命名参数:添加了C#4.0
Lambda表达式:添加了C#3.0
自动属性:添加了C#3.0
扩展方法:添加C#3.0
协方差/逆变:增加了C#4.0
Int32小数=2
-在.NET 2.0中是否允许使用默认参数说明符?我认为它们是在以后的某个时候才引入的。您的意思是希望有人帮助您理解这个问题,还是说当默认参数对您不可用时,您如何处理它们?Int32 decimals=2
-默认参数说明符在.NET 2.0中允许吗?我认为它们是在以后某个时候才引入的。你的意思是想帮助理解这个问题,还是说当默认参数对你不可用时,你怎么能做它们的等价物?具体来说,默认参数是在C#4中引入的。请注意.NET和C#之间的区别。您可以在.NET4.5和.NET4.0上使用一些C#5功能。我记不起C#4是否支持以.NET 2.0为目标。具体来说,默认参数是在C#4中引入的。请注意.NET和C#之间的区别。您可以在.NET4.5和.NET4.0上使用一些C#5功能。我记不起C#4是否支持瞄准.NET 2.0。谢谢朋友,这段代码运行得很好,你是个天才……谢谢朋友,这段代码运行得很好,你是个天才。。。。。。
private string formatSizeBinary(Int64 size)
{
return formatSizeBinary(size, 2);
}
private string formatSizeBinary(Int64 size, Int32 decimals)
{
string[] sizes = { "Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
double formattedSize = size;
Int32 sizeIndex = 0;
while (formattedSize >= 1024 & sizeIndex < sizes.Length)
{
formattedSize /= 1024;
sizeIndex += 1;
}
return string.Format("{0} {1}", Math.Round(formattedSize, decimals).ToString(), sizes[sizeIndex]);
}