我试图生成大量的字符串。在我的小示例代码中,它按预期工作,但我想要的结果的字符串长度为8,而不是像下面的3,这会导致内存不足异常。
有没有办法更有效地运行它?
string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
string numbers = "0123456789";
var query = from c1 in chars
from c2 in chars
from d1 in digits
select string.Format("{0}{1}{2}", c1, c2, d1);
string[] possibleCombinations = query.ToArray();
答案 0 :(得分:0)
请勿调用ToArray()
方法!这导致了内存的分配。如果您只是遍历查询,则枚举器会遍历所有可能的结果。你需要等待很长时间才能遍历所有结果。