Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 改进代码字符串处理_C#_String - Fatal编程技术网

C# 改进代码字符串处理

C# 改进代码字符串处理,c#,string,C#,String,我有这个字符串: var string1=numericUpDown2.Text;//一, 始终希望包含4个数字,如0001或“11”=0011 我使用了以下代码: private string Corection4(string variable) { var stringlen = variable.Length; if (stringlen < 2) { string corectvariable = "

我有这个字符串: var string1=numericUpDown2.Text;//一,

始终希望包含4个数字,如0001或“11”=0011

我使用了以下代码:

private string Corection4(string variable)
    {
        var stringlen = variable.Length;
        if (stringlen < 2)
        {
            string corectvariable = "000" + variable;
            return corectvariable;
        }
        if (stringlen < 3)
        {
            string corectvariable = "00" + variable;
            return corectvariable;
        }
        if (stringlen < 4)
        {
            string corectvariable = "0" + variable;
            return corectvariable;
        }
        else
        {
            string corectvariable = variable;
            return corectvariable;
        }
    }
私有字符串Corection4(字符串变量)
{
var stringlen=可变长度;
if(stringlen<2)
{
字符串corectvariable=“000”+变量;
返回corectvariable;
}
if(stringlen<3)
{
字符串corectvariable=“00”+变量;
返回corectvariable;
}
if(stringlen<4)
{
字符串corectvariable=“0”+变量;
返回corectvariable;
}
其他的
{
字符串corectvariable=变量;
返回corectvariable;
}
}

现在我需要一些帮助来改进这段代码

您可以通过
ToString()
方法使它变得简单。例如:

var correctVariable = variable.ToString("D4");
它会在字符串中添加额外的零

如果正在处理字符串,请首先将其解析为int值:

var correctVariable = string.Format("{0:D4}", int.Parse(variable));

您可以使用
String.Format()


感谢您提供的提示,但现在我发现“D4”参数类型“string”不可分配给参数类型System.iFormatProvider的错误。您应该首先将其解析为int值。看我的第二个例子,十六进制值不起作用var value=Convert.ToInt16(numericUpDown3.Text);var hexOutput=string.Format(“{0:X}”,值);var reg=string.Format(“{0:D4}”,int.Parse(hexOutput))//输出为:3E4一个i-want 03E4 i-try var reg=string.Format(“{0:D4}”,hexOutput);但是我没有解决问题var hexOutput=string.Format(“{0:X4}”,value);
int number = 11;
//D4 = pad with 0000
string outputValue = String.Format("{0:D4}", number);