我的基本要求是比较一些字符串数组,然后找出它们是否相同。
基本上我会得到一个计数,并根据该计数我需要动态创建数组。
例如我的查询计数为2,所以我需要创建2个数组并访问for循环中的数组
与计数2相似
Arrays: string[] array0 = new string[100];
string[] array1 = new string[100];
并且在for循环中我需要在索引为0时访问array0并在index的值为1时访问array1
here count = 2 suppose.
for (int i = 0 ;i <count;i++)
{
when 0 then access array0 and when 1 then access array1
}
但是我无法通过这种方式获得array0和array1的引用。任何人都可以指导我正确的方向。
感谢。
答案 0 :(得分:3)
尝试将数组存储在Array
string[][] AllMyArrays = new string[][count];
for (int i = 0; i < count; i++)
AllMyArrays[i] = new string[100];
这样你可以将它们编入索引整体数组
答案 1 :(得分:2)
这些方面的某些内容应该有效(未经测试,用texteditor编写)
public static void Main()
{
var arrays = GetArrays(5);
var equal = true;
for (int i = 0; i < arrays.Count(); i++)
{
for (int j = 0; j < arrays.Count(); j++)
{
if (!arrays[i].SequenceEqual(arrays[j]))
{
equal = false;
break;
}
}
if (!equal)
{
break;
}
}
Console.WriteLine("The arrays {0} equal.", equal ? "are" : "are not");
}
public static IList<string[]> GetArrays(int count)
{
Func<int, string[]> generateArray = x => Enumerable.Range(0, 100).Select(y => y.ToString()).ToArray();
return Enumerable.Range(0, count).Select(generateArray).ToList();
}
答案 2 :(得分:0)
您可以使用字符串数组字符串列表。
List<List<string>> lstOfList = new List<List<string>>();
int count = 2;
for (int i = 0 ;i <count;i++)
{
lstOfList[count-1] would give you second list
}
答案 3 :(得分:0)
如果我正确理解您的问题,您希望分配任意数量的string[]
。 List
适用于此任务。
const int arrayLength = 100;
var arrayCount = 4; // or whatever you collect from input
List<string[]> stringArrays = new List<string[]>();
for (int i = 0; i < arrayCount; i++) {
stringArrays.Add(new string[arrayLength]);
}
就你的要求的第二部分而言,我承认我并不是100%明白你对“发现它们是否相同”的意思。我试图绕过它,但你的陈述太模糊了。但这应该让你走上正轨。 :)
编辑:
将Shenku的解决方案改编为我相信如果它们“相同”的测试要求。
const int arrayLength = 100;
var arrayCount = 4;
var arrays = new List<string[]>();
for (var i = 0; i < arrayCount; i++) {
arrays.Add(new string[arrayLength]);
}
bool equivalent = true;
for (var i = 0; equivalent && (i < arrayCount - 1); i++) {
equivalent = arrays[i].SequenceEqual(arrays[i + 1]);
}
equivalent
存储所有数组是否相同。它由SequenceEqual()
的{{3}}确定。如果这对您不起作用,则应该有the definition。
答案 4 :(得分:-1)
int count=2;
//create arrays dynamically
string[] array1 = new string[count];
array1[0]=1;
array1[1]=2;
//access array using for loop
for (int i = 0 ;i <count;i++)
{
Console.WriteLine(array[i]);
Console.ReadKey();
}