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