Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#2.0中不允许使用默认参数说明符_C#_C# 2.0 - Fatal编程技术网

c#2.0中不允许使用默认参数说明符

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

我在我的程序下面的代码块中遇到了这个错误。我正在将c#与.NET2.0一起使用。它在代码的第一行以小数=2的形式显示此错误。请帮忙

 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]);
}