回答
我会给你的逻辑。
创建一个List<String>
,然后继续添加每个字符串。
List<String> s = new List<String>();
s.add("a");
s.add("b");
s.add("c");
s.add("d");
一旦你添加的所有字符串,那么产生这样的最小值和最大值指数之间的随机数:
private int RandomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
然后,当打印在循环中的每个串在List这个数字, 确保检查相同的随机数不重复的nex迭代。
如何将字符串添加到列表字符串? – Derek 2011-06-08 09:26:51
列表
你会列出一个列表吗?
List<String>myStrings = new List<String>();
myStrings.Add("a");
...
myStrings.Add("d");
你应该能够循环通过
我试过了,无法让循环工作。 – Derek 2011-06-08 09:27:57
,如果你有一个字符串的一组号码,您可以使用
var s = String.Format("{0}{1}{2}{3}", stringA, stringB, stringC, stringD);
否则为/ 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();
我不会用字符串+字符串+由于字符串在内存中的工作方式,这是不好的做法。
编辑:我没有测试它在浏览器中写的代码!让我知道你是否有任何问题。
刚才看到上面的评论,我发布的代码将始终以相同的顺序输出字符串,所以可能不是你想要的。
HTH
单次
List<String>stringList = new List<String>();
stringList.Add("a");
stringList.Add("b");
...
...
foreach(string item in stringList)
{
string text=item;
}
阅读这篇文章,为您提供了一个完整的示例如何生成排列,如果那是你真正需要的:
让数组中的字符串可以使用下面的函数打印所有排列,因此输出:abcd,abdc,adbc等。
递归置换(从MSDN):
public static void Permute(string[] strings, int start, int finish)
{
if (start == finish)
{
for (int i = 0; i <= finish; ++i)
{
Console.Write(strings[i] + " ");
}
Console.WriteLine("");
}
else
{
for (int i = start; i <= finish; ++i)
{
string temp = strings[start];
strings[start] = strings[i];
strings[i] = temp;
Permute(strings, start+1, finish);
temp = strings[start];
strings[start] = strings[i];
strings[i] = temp;
}
}
} // Permute()
这个例子做了所有的组合(正确):
using System;
using System.Linq;
using System.Collections.Generic;
public static class Program
{
public static void Main(string[] args)
{
var list = new [] { "a", "b", "c", "d" };
foreach (var combi in Enumerable.Repeat(list, list.Length).CartesianProduct())
Console.WriteLine(string.Join(" ", combi));
}
static IEnumerable<IEnumerable<T>> CartesianProduct<T>(this IEnumerable<IEnumerable<T>> sequences)
{
IEnumerable<IEnumerable<T>> emptyProduct = new[] { Enumerable.Empty<T>() };
return sequences.Aggregate(
emptyProduct,
(accumulator, sequence) =>
from accseq in accumulator
from item in sequence
select accseq.Concat(new[] {item}));
}
}
输出:
a a a a
a a a b
a a a c
a a a d
a a b a
a a b b
a a b c
a a b d
a a c a
a a c b
....
d d b c
d d b d
d d c a
d d c b
d d c c
d d c d
d d d a
d d d b
d d d c
d d d d
如果您需要置换,你可以插入一个算法
- 1. 如何在C++中的函数中组合字符串和字符串大小?
- 2. C/C++如何组合多个数组/字符串列表?
- 3. 如何从字符串列表中生成字符串组合?
- 4. 如何将C中两个字符串的字符随机组合在一起?
- 5. 如何在C#中字串字符串
- 6. 如何在C#中表示(字符串,字符串[],字符串[])#
- 7. 如何将字符串添加到字符串数组中C
- 8. 组合字符串
- 9. 组合字符串
- 10. 字符串组合
- 11. 合并字符串中的字符C
- 12. C#组合两类字符串
- 13. C#合并排序字符串数组
- 14. 的OBJ-C组合的字符串
- 15. C#字符串分割和组合
- 16. 在C#中的组合(字符串,字节[]).net
- 17. 拆分一个字符串并组合2个字符串 - C
- 18. 如何在PHP中从字符串创建可能的字符串组合?
- 19. 如何在一个字符串中组合两个不同的字符串?
- 20. 如何组合字符串中的字符一次?
- 21. 如何从字符串中删除字符组合?
- 22. 如何合并字符到C中使用string.h字符串?
- 23. 如何从C中的字符数组中获取字符串?
- 24. 在ASP.NET属性中组合字符串
- 25. 在c#中,如何将字符串和它们的频率组合到一个结果字符串中?
- 26. 在c中的字符串和字符串数组操作在
- 27. 如何在C/C++中将字符串修改为char数组?
- 28. 如何在Python中查找字符串中的模式/组合?
- 29. 如何从c#中的字符串中删除特定字母组合?
- 30. 如何检查一个字符串是否在C中的字符串数组?
你想要什么结果呢? – 2011-06-08 09:23:32
你的意思是连接它们? – 2011-06-08 09:23:32
你是什么意思的“组合”? – yurib 2011-06-08 09:23:57