C#扩展方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
 
namespace CalculatorApplication
{
    public static class ExtensionString
    {
        //向 String 类扩展一个统计单词数量的方法
        //1、扩展类必须为静态类,扩展方法必须为静态方法。
        //2、扩展方法的第1个形参开头必须使用 “this” 关键字然后再填写扩展的目标类。
        //3、如果需要接收参数则从第2个参数开始算起,第1个参数在真正调用方法时是隐藏的。
        public static int CountWord(this String str)
        {
            return str.Split(' ').Length;
        }
    }
 
    class NumberManipulator
    {
        //提供给输出参数的变量不需要赋值。当需要从一个参数没有指定初始值的方法中返回值时,输出参数特别有用。请看下面的实例,来理解这一点:
        public void getValues(out int x, out int y)
        {
            Console.WriteLine("请输入第一个值: ");
            x = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入第二个值: ");
            y = Convert.ToInt32(Console.ReadLine());
        }
 
        static void Main(string[] args)
        {
            NumberManipulator n = new NumberManipulator();
            /* 局部变量定义 */
            int a, b;
 
            /* 调用函数来获取值 */
            n.getValues(out a, out b);
 
            Console.WriteLine("在方法调用之后,a 的值: {0}", a);
            Console.WriteLine("在方法调用之后,b 的值: {0}", b);
 
            Console.WriteLine("单词数量:" + "Hello World".CountWord()); //没有参数
            Console.ReadLine();
        }
    }
}

  

posted @   wdliming  阅读(160)  评论(0编辑  收藏  举报
编辑推荐:
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· 开发的设计和重构,为开发效率服务
· C# - 获取枚举描述 - 使用增量源生成器
点击右上角即可分享
微信分享提示