C# 在C中将字符串连接到字符#
我需要将字符串“*”连接到数组中的字符 例如:C# 在C中将字符串连接到字符#,c#,string,char,concatenation,C#,String,Char,Concatenation,我需要将字符串“*”连接到数组中的字符 例如: int count=5; string asterisk="*"; char p[0]='a'; char p[1]='b'; char p[2]='a'; char p[3]='b'; char p[4]='b'; for(int i=0;i<count;i++) { asterisk=asterisk+"*"; } p[0]=p[0]+asterisk; int计数=5; 字符串星号=“*”;
int count=5;
string asterisk="*";
char p[0]='a';
char p[1]='b';
char p[2]='a';
char p[3]='b';
char p[4]='b';
for(int i=0;i<count;i++)
{
asterisk=asterisk+"*";
}
p[0]=p[0]+asterisk;
int计数=5;
字符串星号=“*”;
字符p[0]='a';
字符p[1]='b';
charp[2]='a';
字符p[3]='b';
字符p[4]='b';
对于(int i=0;i您的示例在我看来不像是有效的c。如果您所要做的只是在字符串的末尾连接一组星号,那么应该可以:
string myString = "a";
for(int x = 0; x < 5; x++){
myString += "*";
}
//myString should now equal "a*****"
string myString=“a”;
对于(int x=0;x<5;x++){
myString+=“*”;
}
//myString现在应该等于“a*****”
您试图将结果字符串存储在相同的字符
数组中,这是不可能的,因为在一个字符变量中只能存储一个字符,您应该使用字符串[]
或列表
来存储结果
List<string> result = new List<string>();
string asterisk = new string('*', 5); // Get a string with five *
foreach (char c in charArray)
{
result.Add(c + asterisk);
}
不能将字符串连接到字符。字符串是字符的集合,不能“容纳”在单个字符中
你可能想要像这样的东西
char asterisk = '*';
string []p = new string[] { "a", "b", "a", "b" };
p[0] = p[0] + new string(asterisk, count);
一般来说,这应该使用能够提供更好性能(取决于您的代码和运行它的时间)的方法来完成。
此外,String还有一个构造函数,它接受一个字符和一个数字,并在一个字符串中给出该字符n次:
第三,看一看,比如
这可以在那里为您节省一些行。我认为问题在于“连接”这个词。我认为他想覆盖。这样他就可以显示一个类似于半密码的字符串
char[] p = { 'a', 'b', 'a', 'b', 'b' };
char[] asterisks = (new String('*', p.Length -1)).ToCharArray();
asterisks.CopyTo(p, 1);
.CopyTo()将把“星号”数组写入“p”数组。之前的海报是正确的,您应该使用StringBuilder进行这样的操作,但如果必须将其作为字符数组,这是一种方法。(假设我了解您想要的内容。“我希望结果类似于”a*****“)您的问题非常不清楚。请给出一些输入和输出示例。也许值得一提的是,更大的图景是什么-可能有更好的方法来解决它。
char[] chars = "abcd".ToCharArray();
char[] p = { 'a', 'b', 'a', 'b', 'b' };
char[] asterisks = (new String('*', p.Length -1)).ToCharArray();
asterisks.CopyTo(p, 1);