C#—拓展方法
2016-04-15 20:40
429 查看
/* * 拓展方法实例。实例运行后,要求输入成绩。如果输入的成绩大于或者等于0,将显示有效的成绩,否则将显示无效的成绩。 */ using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication2 { public static class MyClass { public static bool IsValidZIP(this int score) { if (score >= 0) return true; return false; } } class Program { static void Main(string[] args) { Console.WriteLine("请输入成绩:"); int score = Convert.ToInt32(Console.ReadLine()); if (score.IsValidZIP()) Console.WriteLine("有效成绩!"); else Console.WriteLine("无效成绩!"); Console.ReadKey(); } } }
/*
* 拓展方法的使用
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string str = "dfsf";
Console.WriteLine(str.Add()); //调用拓展方法,必须用对象来调用
string s = "this is an apple!";
Console.WriteLine("单词的数量为:{0}", s.GetWordCount());
Console.ReadKey();
}
}
static class Myclass //必须是静态类才可添加拓展方法
{
public static string Add(this string strName) //在字符串后面添加一个a //声明拓展方法必须是静态的
{
return strName + 'a'; //Add的三个参数:this、string表示要拓展的类型、strName表示对象名
}
public static int GetWordCount(this string s) //获取字符串中单词数量
{
int intCount = 0;
string[] strArray = s.Split(' ');
foreach (var str in strArray)
{
if (str.Length > 0)
intCount++;
}
return intCount;
}
}
}
运行结果:
/*
* 拓展方法的使用
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string c = "391423198705451332";
Console.WriteLine("身份证号为:{0}\n该身份证是否合法?{1}",c,c.IsLegal());
Console.ReadKey();
}
}
static class Myclass
{
public static string IsLegal(this string id)
{
Regex rex = new Regex(@"\d{17}[\d|X]|\d{15}");
if (rex.IsMatch(id))
return "是";
return "否";
}
}
}
运行结果:
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法