你好。
这就是我想要做的:
    str2 = "91";
    str1 = "19";
    var testQuery = from c1 in str1
                    from c2 in str2
                    select new {c1, c2};
    foreach (var enumerable in testQuery)
    {
        Console.WriteLine(enumerable.c1 + " | " + enumerable.c2);
    }
我想要的是:
9 | 1
1 | 9
我真正得到的:
1 | 9
1 | 1
9 | 9
9 | 1
代码是一个纯粹的例子。它可能会遍历数组或其他一些集合。它还会做一些其他的事情,但它们与这个问题无关。
如果没有 linq,我可以这样做:
    for (int i = 0; i < str1.Length -1; i++)
    {
        Console.WriteLine(str1[i] + " | " + str2[i]);
    }
但我想要一个可以做我需要的一切的查询。
我真的必须创建自己的枚举器方法,使用 yield 来创建我想要的吗?
编辑:根据请求:我希望能够做的一个例子:
    str1 = "91";
    str2 = "19";
    char[] digitX = str1.ToString().Reverse().ToArray();
    char[] digitY = str2.ToString().Reverse().ToArray();
    var q = digitX.Select((c1, i) => new {c1 = c1 - '0', c2 = digitY[i] - '0' });
我想在实际查询中拉反向等。所以我把这一切都收集起来。额外:能够使用类似 sql 的糖衣语法来实现这一点,我会很激动。不是方法链,而是。