C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。
为了方便开发,.NET基类库针对在实际开发中最常用的情形提供了几个预定义好的委托,这些预定义委托用得很广,比如在编写lambda表达式和开发并行计算程序时经常要用到他们。
预定义泛型委托Func
class Program
{
double AddInt(int x, int y)
{
return x + y;
}
string AddString(string s1, string s2)
{
return s1 + s2;
}
static void Main(string[] args)
{
Program p = new Program();
// 以为前两个参数为int,他们运行的结果为double,最后一个参数与AddInt返回值一致
Func<int, int, double> funcInt = p.AddInt;
Console.WriteLine("funcInt的值为{0}", funcInt(100, 300));
Func<string, string, string> funcString = p.AddString;
Console.WriteLine("funcString的值为{0}", funcString("aaa", "bbb"));
}
}
本文参考自金旭亮老师的《.NET 4.0面向对象编程漫谈》有关代理的内容
分享到:
相关推荐
在C#编程中,泛型列表`List<T>`是一个非常重要的数据结构,它为我们提供了动态数组的功能,并且具有类型安全的特性。这篇文章将深入探讨`List<T>`的使用,包括其基本操作、性能特点以及一些高级用法。 一、基础概念...
net基础——泛型PPT教案学习.pptx
委托在C#中相当于函数指针,而泛型委托允许我们传递具有不同参数类型的委托。一个常见的例子是`Func, TResult>`和`Action<T>`,它们分别表示带有一个输入参数并返回结果的委托和不返回结果的委托。以下示例展示了...
在《夯实JAVA基本之一——泛型详解(1)》的博客中,作者深入浅出地探讨了泛型的基本概念和用法,本文将基于这个博客源码,详细解析泛型的相关知识点。 首先,泛型的主要目标是提高代码的类型安全性。在未引入泛型...
C 设计新思维——泛型编程与设计范式之应用 PDF,候捷译序。㆒般人对C templates 的粗略印象,大约停留在「容器(containers)」的制作上。稍有研究由会发现,templates衍生出来的C Generic Programming(泛型编程)技术...
在《夯实JAVA基本之一——泛型详解(2)》这篇博客中,作者深入探讨了泛型的高级用法和概念,这些内容对于理解和掌握Java泛型至关重要。 首先,泛型的基本语法是以尖括号 `<T>` 表示,其中 `T` 是一个类型参数,代表...
这是一个泛型委托的示例,主要是让初学者了解泛型委托的用法,虽然很简单,但是代码有注释,我的这个例子是在vs2010中做的,用vs08的朋友们,最好还是转一下,但是绝对能实现(本程序是控制台应用程序,适合初学者)...
### C# 泛型集合与非泛型集合详解 #### 一、概述 在.NET Framework Class Library (FCL) 中,提供了丰富的集合类型,这些集合类型是编程中不可或缺的工具。根据是否支持泛型特性,这些集合大致可以分为两类:泛型...
4. 泛型委托: 泛型委托允许我们定义一个可以接受任意类型参数的委托类型。这在需要在事件处理程序或其他回调方法中使用多种数据类型时非常有用。例如,以下是一个简单的泛型委托定义: ```csharp public delegate ...
在C#中通过反射操作一个List泛型。。
C# 工具类 泛型转JSON 使用 Newtonsoft.Json 转换JSON
在.NET框架中,C#语言提供了许多强大的特性,其中泛型、委托和事件是三个核心概念,它们极大地提升了代码的可重用性、性能和安全性。这篇文章将深入解析这三个概念,帮助开发者更好地理解和运用。 首先,让我们来...
例如,Action和Func, TResult>是.NET框架提供的泛型委托,它们可以方便地表示无返回值或带返回值的操作。在处理异步编程或者回调函数时,这些泛型委托非常实用。 总结来说,C#中的集合为我们提供了组织和操作数据的...
在.NET框架中,C#语言提供了丰富的特性来帮助开发者创建高效、可复用的代码,其中泛型和事件委托是两个关键概念。泛型能够提供类型安全的数据结构,而事件委托则是实现对象间通信的重要机制。当我们把两者结合起来,...
在C#编程中,方法异常和泛型是两个至关重要的概念。它们构成了C#语言功能的核心部分,并在软件开发中发挥着关键作用。理解和熟练掌握这两个主题,将有助于提升你的编程技能,无论你是初学者还是有经验的开发者。 ...
4. **C#泛型的不足** - **类型擦除的限制**:由于类型擦除,泛型无法在运行时获取类型参数的具体信息,这限制了一些高级功能,如反射。 - **某些泛型限制**:例如,泛型接口不能包含非泛型方法的默认实现,泛型类...
委托、枚举和泛型是C#中非常重要的概念。委托提供了将方法作为参数传递的能力,增强了代码的灵活性;枚举简化了常量的定义和使用,提高了代码的可读性;而泛型则允许编写更加通用和灵活的代码,减少了类型转换的需要...
泛型类、接口、委托和方法都可以使用类型参数,这样在编译时就能确保类型的安全性,同时在运行时能获得良好的性能。 数据去重是数据处理中的常见操作,尤其是当处理大量数据时,高效的去重方法显得尤为重要。在C#中...