c#委托 订阅
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1] 展开全文
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1]
信息
类    别
程序设计语言
影响语言
C++、C#、D、Java、JavaScript、ObjectPHP等
创始时间
1972年
主要编译器
Visual C++、Clang、GCC、Turbo C等
中文名
C语言
创始人
Dennis MacAlistair Ritchie
发    源
BCPL语言
外文名
C Programming Language
c语言简介
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。 [2]  当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。 [3]  冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。 C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。 [4] 
收起全文
精华内容
参与话题
问答
  • c#委托

    千次阅读 2017-11-10 17:46:54
    c#委托
    //声明一个委托指向一个函数,委托是一个类型
        public  delegate string delstr(string name); 
        class Program
        {
            static void Main(string[] args)
            {
                创建一个委托对象
                //say del = saychinese;  //say del = new say(saychinese);
                //del("张三");
               


                string[] name ={ "abCdEfghijk","lmnopq","rstuvwx","Yz"};
                prostr(name,delegate(string names)//匿名函数
                {
                    return names.ToLower();
                });
                for (int i = 0; i < name.Length; i++)
                {
                    Console.WriteLine(name[i]);
                }
                Console.ReadKey();


            }




            public static void prostr(string[] name, delstr del)
            {
                for (int i = 0; i < name.Length; i++)
                {
                    name[i] = del(name[i]);


                }
            }






            public static void saychinese(string name)
            {
                Console.WriteLine("你吃饭了嘛");
            }
            public static void sayenglish(string name)
            {
                Console.WriteLine("i love you");
            }








            //public static string strtoupper(string name)
            //{
            //    return name.ToUpper();
            //}
            //public static string strlower(string name)
            //{
            //    return name.ToLower();
            //}
            //public static string syh(string name)
            //{
            //    return "\""+name+"\"";
            //}
        }
    展开全文
  • C#委托

    2013-09-18 14:34:04
    C#委托 委托就是定义一种方法类型。我们知道方法是不能直接作为参数来使用的,但委托提供了一种可以将方法作为参数来传递的办法。 比如, public delegate int MethodType1(int i,string str1); 上述语句...
    C#委托

    委托就是定义一种方法类型。我们知道方法是不能直接作为参数来使用的,但委托提供了一种可以将方法作为参数来传递的办法。
    比如,

    public delegate int MethodType1(int i,string str1);

    上述语句的含义:我要定义一种方法类型,叫MethodType1,它有2个参数(第一个int,第二个是string)和返回类型为int。

    此后,MethodType1就可以作为一种类型来使用了,与string,int的地位一样。

    比如,

    public void method1(int x,MethodType1 m1)

    当然在这个方法体中你就会在适当的地方调用m1. 类似 int v = m1( 1,"str")之类的语句。


    调用method1方法时,哪些方法可以带入m1呢?就是符合MethodType1定义形式的方法就可以带入,即:2个参数(第一个int,第二个是string)和返回类型为int。带入时只需方法名,当然这个方法必须是一个静态方法或者已经实例化对象的方法。

    自然,作为自定义的一种类型,委托的应用就不止限于作为参数传递一种情形了。
    展开全文
  • C#委托 C#委托 C#委托

    2010-06-24 08:30:55
    C#委托 C#委托 C#委托C#委托 C#委托
  • C# 委托

    千次阅读 热门讨论 2015-01-25 19:24:01
    想要学习C#中的委托就必须回顾一下C++的历史,C++函数指针是C++中极富技巧性的东西,初学者看到它往往躲开,而高手却把它当作利器中的利器。 委托主要是几个在开发中的作用: 启动线程;通用类库;事件。 理解委托的...

        想要学习C#中的委托就必须回顾一下C++的历史,C++函数指针是C++中极富技巧性的东西,初学者看到它往往躲开,而高手却把它当作利器中的利器。

       委托主要是几个在开发中的作用:启动线程;通用类库;事件。

       理解委托的概念:

       我们都很熟悉常用的数据类型(如int)的使用方法:先定义一个变量,然后在给其赋值,如下所示:

        int i;

        i=100;

       委托也可以看成是一种数据类型,可以用于定义变量,但它是一种特殊的数据类型,它所定义的变量接受的数值只能是一个函数,更确切地说,委托类型的变量可以接受一个函数的地址,类似于C++语言的函数指针。

    简单的说:委托变量可看成是一种类型安全的函数指针,它只能接受符合其要求的函数引用。

       下面就委托的解释,举几个例子:

                                   

                                                      

                                                 


         个人感触:学习委托感觉就是一个生活中的例子,委托---帮忙,根据个人的想法,很像帮忙的意思,委托给别人,让别人帮你完成可能的项目之类的。把学习应用到生活中,把生活投入到学习中,交响应互。






    展开全文
  • c# 委托

    千次阅读 2015-04-15 21:46:20
    本篇博客和大家分享C#中的委托

    本篇博客和大家分享一下C#中的委托。

    委托是什么

    我们先思考这么一个问题,如果我现在想写一个Person类,定义如下:

    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public void ZhuangBi()
        {
            //第一步,找到话题
    
            //第二步,找到一个能够聊天的人
    
            Console.WriteLine( "I am newbility");
        }
    }

    为了使程序更加灵活,我不想在ZhuangBi这个方法中写具体的实现,那么问题来了,第一步和第二步怎么实现?我们可以抽象出一个接口,然后依赖注入,不过这不在本篇讨论的范围内。我们能不能给ZhuangBi这个方法添加两个参数,这两个参数分别指向一个方法,也就是说,外界调用这个方法时,会传进来两个方法,一个方法负责找到话题,另一个方法负责找到能聊天的人。可是,怎么才能把方法当成参数来传递呢?参数的类型是什么呢?

    在.net 的世界里,委托(delegate)为了解决这个问题诞生了。委托是一种类型,能够指向一个方法。委托更准确的定义是:委托是表示对具有特定参数列表和返回类型的方法的引用的类型。

    如何定义委托

    为了解决上面的问题,我们来定义一个委托,为了简单起见,参数列表和返回值都为空

    public delegate void MyDelegate();

    然后改造一下ZhuangBi这个方法,改造后的代码如下

    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public void ZhuangBi(MyDelegate findTopic, MyDelegate findPerson)
        {
            //首先,找到话题
            findTopic();
            //然后,找到一个能够聊天的人
            findPerson();
            Console.WriteLine("I am newbility");
        }
    }

    如何使用委托

    最后我们再写一个类,来调用这个Person类,并传递两个方法过来

    class Program
    {
         static void Main(string[] args)
         {
            Person p = new Person();
            MyDelegate delegate_FindTopic = FindTopic;
            MyDelegate delegate_FindPersonToTalk = FindPersonToTalk;
            p.ZhuangBi(delegate_FindTopic, delegate_FindPersonToTalk);
         }
    
        static void FindTopic()
        {
            Console.WriteLine("MongoDB is not too bad");
        }
    
        static void FindPersonToTalk()
        {
            Console.WriteLine("find a geek");
        }
    
    }

    运行结果如下

    MongoDB is not too bad
    find a geek
    I am newbility

    使用系统定义的委托

    在很多时候,我们可以使用系统已经定义好的委托,System.Action是参数列表和返回值都为空的委托,定义如下

    public delegate void Action();

    Func<> 是一个范型委托,有17个重载,最多可以定义16个范型参数。这两个委托应该能满足几乎所有的应用场景了。

    展开全文

空空如也

1 2 3 4 5 ... 20
收藏数 19,351
精华内容 7,740
关键字:

c#委托

c# 订阅