如何在C#中组合字符串?

如何在C#中组合字符串?,c#,.net,string,combinations,C#,.net,String,Combinations,我需要做一个“a”“b”“c”“d”组合。 我试着把它们放在一个列表中,然后通过它们解析foreach方法,但没有用 我还能做什么呢?给你一份清单好吗 List<String>myStrings = new List<String>(); myStrings.Add("a"); ... myStrings.Add("d"); ListmyStrings=newlist(); myStrings.Add(“a”); ... myStrings.Add(“d”); 您应

我需要做一个“a”“b”“c”“d”组合。 我试着把它们放在一个列表中,然后通过它们解析foreach方法,但没有用

我还能做什么呢?

给你一份清单好吗

List<String>myStrings = new List<String>();

myStrings.Add("a");
...
myStrings.Add("d");
ListmyStrings=newlist();
myStrings.Add(“a”);
...
myStrings.Add(“d”);
您应该能够循环浏览该列表,可以吗

List<String>myStrings = new List<String>();

myStrings.Add("a");
...
myStrings.Add("d");
ListmyStrings=newlist();
myStrings.Add(“a”);
...
myStrings.Add(“d”);

您应该能够循环使用该

我将为您提供逻辑

创建一个
列表
,然后继续向其中添加每个字符串

List<String> s = new List<String>();  

s.add("a");
s.add("b");
s.add("c");
s.add("d");  

然后,在使用该数字在列表上打印循环中的每个字符串时,确保检查相同的随机数在下一次迭代中没有重复

我会告诉你逻辑

创建一个
列表
,然后继续向其中添加每个字符串

List<String> s = new List<String>();  

s.add("a");
s.add("b");
s.add("c");
s.add("d");  

然后,在使用该数字在列表上打印循环中的每个字符串时,确保检查相同的随机数在下一次迭代中没有重复

如果您有一组可以使用的字符串

var s = String.Format("{0}{1}{2}{3}", stringA, stringB, stringC, stringD);
否则,for/foreach循环将是前进的方向

var sb = new StringBuilder();
var strings = new List<string>();

// Add strings to list

for (var i = 0; i < strings.Count; i++)
{
    sb.Append(strings[i]);
}

var s = sb.ToString();
var sb=new StringBuilder();
var strings=新列表();
//向列表中添加字符串
for(var i=0;i
我不会使用字符串+字符串+字符串样式的连接,因为这是一种糟糕的做法,因为字符串在内存中的工作方式

编辑:我还没有测试它在浏览器中编写的代码!如果您有任何问题,请告诉我

刚才看到上面的注释,我发布的代码总是以相同的顺序输出字符串,因此可能不是您想要的


OneShot

如果您有一组可以使用的字符串

var s = String.Format("{0}{1}{2}{3}", stringA, stringB, stringC, stringD);
List<String>stringList = new List<String>();

stringList.Add("a");
stringList.Add("b");
...
...

foreach(string item in stringList)
 {
   string text=item;
}
否则,for/foreach循环将是前进的方向

var sb = new StringBuilder();
var strings = new List<string>();

// Add strings to list

for (var i = 0; i < strings.Count; i++)
{
    sb.Append(strings[i]);
}

var s = sb.ToString();
var sb=new StringBuilder();
var strings=新列表();
//向列表中添加字符串
for(var i=0;i
我不会使用字符串+字符串+字符串样式的连接,因为这是一种糟糕的做法,因为字符串在内存中的工作方式

编辑:我还没有测试它在浏览器中编写的代码!如果您有任何问题,请告诉我

刚才看到上面的注释,我发布的代码总是以相同的顺序输出字符串,因此可能不是您想要的

OneShot

ListstringList=newlist();
List<String>stringList = new List<String>();

stringList.Add("a");
stringList.Add("b");
...
...

foreach(string item in stringList)
 {
   string text=item;
}
stringList.添加(“a”); 字符串列表。添加(“b”); ... ... foreach(stringList中的字符串项) { 字符串文本=项目; }
ListstringList=新列表();
stringList.添加(“a”);
字符串列表。添加(“b”);
...
...
foreach(stringList中的字符串项)
{
字符串文本=项目;
}

将字符串放在一个数组中,您可以使用下面的函数打印所有排列,以便输出:abcd、abdc、adbc等

递归置换(来自MSDN):

publicstaticvoidpermute(string[]strings,int-start,int-finish)
{
如果(开始==完成)
{

对于(int i=0;i在数组中包含字符串,您可以使用下面的函数打印所有排列,以便输出:abcd、abdc、adbc等

递归置换(来自MSDN):

publicstaticvoidpermute(string[]strings,int-start,int-finish)
{
如果(开始==完成)
{

对于(int i=0;i此示例执行所有组合(正确):

如果需要排列,可以从

  • 代码项目

  • 此示例执行所有组合(正确):

    如果需要排列,可以从

  • 代码项目

  • 你的意思是连接它们?你说的“组合”是什么意思?你说的组合是什么意思?我想得到一个输出类似“abcd”“abdc”“acdb”“dacb”等的程序…看起来你要找的实际上是排列,而不是组合。你的意思是连接它们?你说的“组合”是什么意思?组合是什么意思?我想得到一个输出类似“abcd”“abdc”“acdb”“dacb”的程序ect ect…看起来你要找的实际上是排列,而不是组合。我如何将字符串添加到列表字符串?列表是一种泛型类型,它只允许添加字符串,不允许添加其他对象,我如何将字符串添加到列表字符串?列表是一种泛型类型,它只允许添加字符串,不允许添加其他对象,