问题描述

编写一个静态类MyExtensions,扩展.NET Framework基本类型的功能。

1)定义一个扩展方法IsPalindrome,方法定义为:

public static bool IsPalindrome(this string str)

它扩展string类的功能,用于判断字符串是否为回文(指顺读和倒读内容都一样的文本)。

2)定义一个扩展方法ReverseDigits,允许int将自己的值倒置,例如将整型1234调用ReverseDigits,返回结果为4321。

测试类如下:

class Program
{static void Main(){string s = "abc";Console.WriteLine($"'{s}' is {(s.IsPalindrome() ? "" : "not")} palindrome");s = "abcba";Console.WriteLine($"'{s}' is {(s.IsPalindrome() ? "" : "not")} palindrome");int i = 1234;Console.WriteLine($"Reverse of {i} is {i.ReverseDigits()}");}
}

源代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Homework7
{/**编写一个静态类MyExtensions,扩展.NET Framework基本类型的功能。1)定义一个扩展方法IsPalindrome,方法定义为:public static bool IsPalindrome(this string str)它扩展string类的功能,用于判断字符串是否为回文(指顺读和倒读内容都一样的文本)。2)定义一个扩展方法ReverseDigits,允许int将自己的值倒置,例如将整型1234调用ReverseDigits,返回结果为4321。*/static class MyExtensions {public static Boolean IsPalindrome(this string str) {for (int i = 0; i < (str.Length / 2); i++) //只需要判断前一半(len/2)长度就好了{if (str[i] != str[str.Length - 1 - i]) //判断是否为回文数;{return false;}}return true;}//本方法允许任何整型返回倒置的副本,例如将整型1234调用ReverseDigits,返回结果为4321。 public static int ReverseDigits(this int i){//把int 翻译为string 然后获取所有字符    char[] digits = i.ToString().ToCharArray();//反转数组中的项    Array.Reverse(digits);//放回string    string newDigits = new string(digits);//最后以int返回修改后的字符串    return int.Parse(newDigits);}}class Program{static void Main(string[] args){string s = "abc";Console.WriteLine($"'{s}' is {(s.IsPalindrome() ? "" : "not")} palindrome");s = "abcba";Console.WriteLine($"'{s}' is {(s.IsPalindrome() ? "" : "not")} palindrome");int i = 1234;Console.WriteLine($"Reverse of {i} is {i.ReverseDigits()}");}}
}

运行结果

参考文章

http://bbs.bccn.net/thread-463732-1-1.html

https://shentuzhigang.blog.csdn.net/article/details/89713050

C#——扩展.NET Framework基本类型的功能DEMO相关推荐

  1. 从文件扩展名获取MIME类型

    本文翻译自:Get MIME type from filename extension 如何从文件扩展名中获取MIME类型? #1楼 参考:https://stackoom.com/question/ ...

  2. 硬盘接口类型与功能比较及RAID

    硬盘接口类型与功能比较 1.SCSI接口(提示:xSeries 拥有业界所有规格的SCSI硬盘) SCSI英文全称:Small Computer System Interface,它出现的原因主要是因 ...

  3. java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...

    package com.sino.java7; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; i ...

  4. python 功能 代码_让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  5. python语言必背代码-让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  6. SAP之成本中心类型与功能范围

    SAP中成本中心类型(Cost Center Type)和功能范围(Function Area)是两个常见并且容易接触到的概念.这两个概念与费用核算.成本核算.财务报表编制.科目设置等都有关系.现在结 ...

  7. Robot Framework(十七) 扩展RobotFramework框架——扩展Robot Framework Jar

    4.4扩展Robot Framework Jar 使用标准JDK安装中包含的jar命令,可以非常简单地向Robot Framework jar添加其他测试库或支持代码.Python代码必须放在jar里 ...

  8. typec扩展坞hdmi没反应_typec扩展坞转hdmi/vga多功能网口usb转换器苹果华为电脑matebook6元优惠券券后价26.8元...

    ★typec扩展坞转hdmi/vga多功能网口usb转换器苹果华为电脑matebook,6元拼多多优惠券★券后价26.8元★★★typec扩展坞转hdmi/vga多功能网口usb转换器苹果华为电脑ma ...

  9. python代码-让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

最新文章

  1. 院士报告 | 李德仁:基于数字孪生的智慧城市(PPT)
  2. wordpress中文乱码处理方法
  3. Spark的RDD持久化
  4. jquer案例2:改变元素的样式、复选框、下拉框 省份的选择
  5. 文章页调用栏目链接和栏目名称的方法
  6. C#ListT方法总结
  7. 树形DP Codeforces Round #135 (Div. 2) D. Choosing Capital for Treeland
  8. 给你的页面加一个百度地图
  9. 久其报表大厅_久其报表是什么?
  10. c语言中的面积和体积计算器,C语言编程问题(面积计算器)——新手问题
  11. Linux修改时间 修改时区 | Linux时间校准
  12. Flixel 横板游戏制作教程(一)— HelloFlixel ...
  13. 读论文,第十五天:FingerPing: Recognizing Fine-grained Hand Poses using Active Acoustic On-body Sensing
  14. 短信验证码的新对手:本机号码校验
  15. 祝大家2022幸福安康
  16. 支付宝:验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配
  17. 北电破产意味着电信业贵族时代的结束
  18. php 文件头部(header)信息详解
  19. vi打开服务器上的文件,虚拟机vi编辑器怎么打开
  20. 物理|北大大佬分享物理学习经验

热门文章

  1. as点击发送广播_Apache Flink 中广播状态的实用指南
  2. 对话系统(四)- RNN
  3. nema0183 java解析_NEMA 0183 语句解析
  4. springmvc提供RestController方法接口返回json数据中文乱码
  5. java 方法重载 应用举例,Java 实例 - 重载(overloading)方法中使用 Varargs
  6. php 输出答案,php 如何只输出最后生成的那个值??
  7. mysql pl安装教程_ubuntu 16 mysql安装包安装 (推荐在线安装)
  8. js 动态拼接html 正则,在JavaScript中使用动态(可变)字符串作为正则表达式模式...
  9. 物理化学 多组成系统热力学
  10. 享学金三银四一线大厂面试专题学习笔记