字符串数组如何使用 <string,string> 调用通用 Select 方法
How Can a String Array Call Generic Select Method with <string,string>
我是泛型 类 和泛型方法的新手。我有一个简单的 cpode:
Func<string, string> selector = str => str.ToUpper();
string[] words = { "orange", "apple", "Article", "elephant" };
IEnumerable<String> aWords = words.Select(selector);
当我查看 Select 方法时,它说:
IEnumerable<String> IEnumerable<String>.Select<String, String>(Func<string,string> collector)
Select 泛型方法如何知道即将到来的 String,String 类型?它是否隐含地来自 "selector" 委托?我真的很困惑。
谢谢
C# 编译器会推断 Select
的类型参数,因此您不必键入它们。它将这些类型刻录到编译的程序集中。
Does it implicitly come from "selector" delegate?
没错。 C# 有一些类型推断,所以你必须输入更少。
Select
方法本身并不知道调用它的是哪段代码。它只知道正确提供了类型参数。
我是泛型 类 和泛型方法的新手。我有一个简单的 cpode:
Func<string, string> selector = str => str.ToUpper();
string[] words = { "orange", "apple", "Article", "elephant" };
IEnumerable<String> aWords = words.Select(selector);
当我查看 Select 方法时,它说:
IEnumerable<String> IEnumerable<String>.Select<String, String>(Func<string,string> collector)
Select 泛型方法如何知道即将到来的 String,String 类型?它是否隐含地来自 "selector" 委托?我真的很困惑。
谢谢
C# 编译器会推断 Select
的类型参数,因此您不必键入它们。它将这些类型刻录到编译的程序集中。
Does it implicitly come from "selector" delegate?
没错。 C# 有一些类型推断,所以你必须输入更少。
Select
方法本身并不知道调用它的是哪段代码。它只知道正确提供了类型参数。