将linq转换为c#

将linq转换为c#,c#,linq,C#,Linq,我是linq的新手,很难将linq翻译成c 有什么帮助吗?看起来您正在尝试创建一个给定长度的char[](数组),并用指定的字符预填充它。如果是这种情况,那么您已经拥有的代码是完全有效的C#,因此您不需要更改任何内容 就个人而言,我更愿意使用以下LINQ: private static char[] createCharArray(int length, char defaultChar) { return Enumerable.Repeat(defaultChar, length)

我是linq的新手,很难将linq翻译成c


有什么帮助吗?

看起来您正在尝试创建一个给定长度的
char[]
(数组),并用指定的字符预填充它。如果是这种情况,那么您已经拥有的代码是完全有效的C#,因此您不需要更改任何内容

就个人而言,我更愿意使用以下LINQ:

private static char[] createCharArray(int length, char defaultChar) 
{ 
    return Enumerable.Repeat(defaultChar, length).ToArray(); 
}

但是,如果您的问题是关于将LINQ语句转换为非LINQ版本,因为无论出于何种原因,您都不能使用LINQ,那么您可以使用一个简单的
for
循环:

private static char[] createCharArray(int length, char defaultChar) 
{ 
    char[] result = new char[length];
    for(int i = 0; i < length; i++)
    {
        result[i] = defaultChar;
    } 
    return result;
}
private static char[]createCharArray(int-length,char-defaultChar)
{ 
字符[]结果=新字符[长度];
for(int i=0;i

注意:作为警告,C#中的函数名通常以大写字母开头,即
CreateCharArray
第一个LINQ是C#。您的代码所做的是

它正在创建一个字符数组,所有元素都设置为默认字符

因此,如果您指定了
length=10
,您将得到一个
10
元素的字符数组,其中所有数组元素都设置为
defaultChar

这与:

char defaultChar = 'A';
int length = 10;
char[] charArray = new char[length];
for (int i = 0; i < charArray.Length; i++)
{
    charArray[i] = defaultChar;
}
private static char[]createCharArray(int-length,char-defaultChar)
{
字符串ret=“”;
for(int i=0;i
试试这个:

private static char[] createCharArray(int length, char defaultChar)
{
    return new string(defaultChar, length).ToCharArray();
}

LINQ是C#,您到底想做什么?什么是
defaultChar
default(char)
还是代码中定义的某个
defaultChar
我正在将使用LINQ的应用程序翻译成Java。我不太明白这里到底发生了什么:/你写的东西似乎既不是c#也不是linqpoor guy。这里可能很粗糙。这是一种比OP中的方法更糟糕的制作方法。
char[]
。当然,这更容易翻译成Java,但是……哈哈,你是对的,因为某种原因,当我看到新的char[length]时,我脑子里一直想着“string”。第一个例子是Java中的情况。
char[] charArray = Enumerable.Repeat<char>(defaultChar, length).ToArray();
char[] charArray = new string(defaultChar, length).ToCharArray();
private static char[] createCharArray(int length, char defaultChar)
{
    string ret = "";
    for (int i = 0; i < length; i++)
        ret += defaultChar;
    return ret.ToArray();
}
private static char[] createCharArray(int length, char defaultChar)
{
    return new string(defaultChar, length).ToCharArray();
}