C# 如何从c中的方法返回两个字符串数组
我在Main方法中有两个列表,并将它们传递给另一个方法,在那里我希望找到唯一的值。我可以找到唯一的值,但当我尝试返回两个字符串数组时,总是会出错。这是我的密码。我想从UniqueNames返回names1和names2C# 如何从c中的方法返回两个字符串数组,c#,C#,我在Main方法中有两个列表,并将它们传递给另一个方法,在那里我希望找到唯一的值。我可以找到唯一的值,但当我尝试返回两个字符串数组时,总是会出错。这是我的密码。我想从UniqueNames返回names1和names2 using System; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string
using System;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string[] names1 = new string[] { "Ava", "Emma", "Olivia" };
string[] names2 = new string[] { "Olivia", "Sophia", "Emma" };
Console.WriteLine(string.Join(", ", Program.UniqueNames(names1, names2)));
}
public static string[] UniqueNames(string[] names1, string[] names2)
{
names1 = names1.Where(s => !names2.Contains(s)).ToArray();
names2 = names2.Where(s => !names1.Contains(s)).ToArray();
return (names1, names2);
}
}
}
从C 7.0版开始,元组受以下支持:
public static (string[], string[]) UniqueNames(string[] names1, string[] names2){/*…*/}
从C 7.0版开始,元组受以下支持:
public static (string[], string[]) UniqueNames(string[] names1, string[] names2){/*…*/}
有几种方法可以实现这一点,但没有必要使用单独的方法。将列表与Linq合并可能会更容易:
string[] names1 = new string[] { "Ava", "Emma", "Olivia" };
string[] names2 = new string[] { "Olivia", "Sophia", "Emma" };
var unique = names1.Union(names2);
Console.WriteLine(string.Join(", ", unique))
有几种方法可以实现这一点,但没有必要使用单独的方法。将列表与Linq合并可能会更容易:
string[] names1 = new string[] { "Ava", "Emma", "Olivia" };
string[] names2 = new string[] { "Olivia", "Sophia", "Emma" };
var unique = names1.Union(names2);
Console.WriteLine(string.Join(", ", unique))
它将为Join返回System.String[],System.String[]call@PavelAnikhouski没关系,我没说剩下的代码是正确的。这只是如何从C中的方法返回两个字符串数组。它将返回System.string[],System.string[]作为联接call@PavelAnikhouski没关系,我没说剩下的代码是正确的。这就是如何从C中的一个方法返回两个字符串数组。您正在寻找该方法吗?您正在寻找该方法吗?