C#——扩展.NET Framework基本类型的功能DEMO
生活随笔
收集整理的這篇文章主要介紹了
C#——扩展.NET Framework基本类型的功能DEMO
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述?
?編寫一個靜態類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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度贴吧——因百度账号策略调整导致长时间
- 下一篇: C#——LINQ技术DEMO