Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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_Spaces - Fatal编程技术网

从字符串C#中删除空格(简单的东西!)

从字符串C#中删除空格(简单的东西!),c#,string,spaces,C#,String,Spaces,嗨,伙计们,我不知道为什么我的代码不起作用,任何帮助都将不胜感激 我有一个给定的字符串,里面填充了数字和每个数字之间的空格,我必须去掉空格,这样所有的数字就可以粘在一起了 string nums = "1 2 3 4 5"; for (int i = 0; i < nums.Length; i++) { if (nums[i].ToString() == " ") { nums[i].ToString() =

嗨,伙计们,我不知道为什么我的代码不起作用,任何帮助都将不胜感激

我有一个给定的字符串,里面填充了数字和每个数字之间的空格,我必须去掉空格,这样所有的数字就可以粘在一起了

    string nums = "1 2 3 4 5";
    for (int i = 0; i < nums.Length; i++)
    {
        if (nums[i].ToString() == " ")
        {
            nums[i].ToString() = "";
        }
    }
string nums=“1 2 3 4 5”;
对于(int i=0;i

我还尝试使用.Replace(“,”);但同样没有成功,我不知道我哪里做错了。。我需要一个简单的,初学者友好的解决方案

.NET中的字符串是不可变的。调用
nums[i].ToString()
将为您提供一个新字符串,而无需修改
nums

Replace
是一种方法,但您必须将结果分配回
nums

string nums = "1 2 3 4 5";

nums = nums.Replace(" ", "");

这是必需的,因为
Replace
不会修改源字符串。它返回新的字符串。

在.NET中字符串是不可变的。调用
nums[i].ToString()
将为您提供一个新字符串,而无需修改
nums

Replace
是一种方法,但您必须将结果分配回
nums

string nums = "1 2 3 4 5";

nums = nums.Replace(" ", "");

这是必需的,因为
Replace
不会修改源字符串。它返回一个新的。

您分配给函数调用的输出(
ToString()
),这是错误的。用于替换字符串中的字符。

您分配给函数调用(
ToString()
)的输出是错误的。用于替换字符串中的字符。

此方法将删除字符串中的空格。它所做的是迭代每个字符,然后将其与空间的UTF-16值进行比较。如果它是一个空间,它不会添加它

public String RemoveSpaces(String withSpaces){
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < withSpaces.Length; i++)
    {
        if (withSpaces[i] != 32)
        {
           sb.Append(withSpaces[i]);
        }
    }

    return sb.ToString();
}
publicstringremovespace(stringwithspaces){
StringBuilder sb=新的StringBuilder();
for(int i=0;i
此方法将删除字符串中的空格。它所做的是迭代每个字符,然后将其与空间的UTF-16值进行比较。如果它是一个空间,它不会添加它

public String RemoveSpaces(String withSpaces){
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < withSpaces.Length; i++)
    {
        if (withSpaces[i] != 32)
        {
           sb.Append(withSpaces[i]);
        }
    }

    return sb.ToString();
}
publicstringremovespace(stringwithspaces){
StringBuilder sb=新的StringBuilder();
for(int i=0;i
字符串是不可变的我不明白为什么
var newString=nums.Replace(“,”)
不起作用?那有什么问题?替换应该有效的。尝试使用单引号而不是双引号。通常,任何形式的语句
foo.MethodCall()=something将无法编译。赋值的目标必须是变量或属性,而不是方法调用的结果。@DanAndrews,它仍然不会编译。没有
Replace(char,string)
重载。您要查找的是空字符-
“\0”
。字符串是不可变的。我不明白为什么
var newString=nums.Replace(“,”)
不起作用?那有什么问题?替换应该有效的。尝试使用单引号而不是双引号。通常,任何形式的语句
foo.MethodCall()=something将无法编译。赋值的目标必须是变量或属性,而不是方法调用的结果。@DanAndrews,它仍然不会编译。没有
Replace(char,string)
重载。您要查找的是一个空字符-
“\0”
。谢谢,这很有效!很明显,我的替代品的问题是我没有把它重新分配给nums!愚蠢的我xD我整天都在做家庭作业,我的脑子都快炸了,再次感谢你!谢谢,这成功了!很明显,我的替代品的问题是我没有把它重新分配给nums!愚蠢的我xD我整天都在做家庭作业,我的脑子都快炸了,再次感谢你!好的,您的代码确实正确地完成了它正在做的事情,而且肯定是以一种比仅仅使用枯燥的
string.Replace(“,string.Empty)
;)更具创造性的方式完成的哈哈,好吧,是的,我承认有更简单的方法。但是谁想要一个普通的jane字符串。替换?你知道,有时候你必须看看标准,说“我知道你写得更有效。我知道你写的代码更少,我知道如果我不使用你,我的同龄人会看不起我。但我在上大学,该死,我的教授希望我用艰难的方式做事!”说得很好,说得好:-d这是因为32是Unicode空格字符的UTF-16代码单元。多亏了Unicode设计器,它与ASCII是一样的。(
withSpaces[i]
是一个
char
,它是一个UTF-16代码单元。)好吧,您的代码肯定正确地完成了它正在做的事情,而且肯定是以一种比仅仅使用无聊的
字符串.Replace(“,string.Empty)
更具创造性的方式完成的。)哈哈,好吧,是的,我承认有更简单的方法。但是谁想要一个普通的jane字符串。替换?你知道,有时候你必须看看标准,说“我知道你写得更有效。我知道你写的代码更少,我知道如果我不使用你,我的同龄人会看不起我。但我在上大学,该死,我的教授希望我用艰难的方式做事!”说得很好,说得好:-d这是因为32是Unicode空格字符的UTF-16代码单元。多亏了Unicode设计器,它与ASCII是一样的。(
withSpaces[i]
是一个
char
,它是一个UTF-16代码单元。)