练习一

  • 有⼀个GET⽹络请求中,⽹络连接(url字符串)通常是如下形式:
    http://msdn.microsoft.com/zh-CN/?query=string
    其中? 后⾯表示参数。上⾯的例⼦中,参数名为query的参数值为string
    (1).判断⼀个字符串是否是合法的url字符串(以http://或https://开头)
    (2).判断⽹络连接中是否包含参数(提示:通过是否有?判断)
    (3).封装⼀个⽅法,输⼊url字符串,返回其参数名和参数值
这道练习是要我们建立一个工具类,实现三个方法完成上面的功能
第一个要求中,我们可以通过String中的StratWith()方法轻松完成
第二个要求可以通过String类中的Contains()方法轻松完成
第三个要求可以通过String类的Substring()、IndexOf()、Split()这三个方法完成

具体用法自己去查msdn上提供的API

下面是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace aHomeWork
{#region /// <summary>/// URL工具类/// </summary>class URLTools{/// <summary>/// 判断URL是否合法/// </summary>/// <param name="URL">要判断的URL</param>/// <returns>合法返回真</returns>public bool LegalURL(string URL){if (URL.StartsWith("http://") || URL.StartsWith("https://")){return true;}return false;}/// <summary>/// 判断URL是否包含参数/// </summary>/// <param name="URL">要判断的URL</param>/// <returns>包含返回真</returns>public bool ContainsParams(string URL){return URL.Contains("?");}/// <summary>/// 提取参数并返回/// </summary>/// <param name="URL"></param>/// <returns></returns>public string[] ExtractionParams(string URL){if (!this.LegalURL(URL)){Console.WriteLine("输入的URL不合法!");return null;}else if (!this.ContainsParams(URL)){Console.WriteLine("输入的URL没有参数!");return null;}string paraUrl = URL.Substring(URL.IndexOf('?') + 1);string[] parameters = paraUrl.Split(new char[] { '&' });return parameters;}}#endregionclass Program{static void Main(string[] args){//实例化工具URLTools tools = new URLTools();string testURL01 = "http://www.baidu.com?name=yuexiang&age=18";string testURL02 = "asdasd1231231";//调用工具中方法判断URL是否合法string testURL03 = "https://www.baidu.com";if (tools.LegalURL(testURL03)){Console.WriteLine($"合法的URL");}else{Console.WriteLine("输入的URL不合法!");}//定义数组接收返回的参数字符串string[] parameters = tools.ExtractionParams(testURL03);if (parameters != null){int count = 1;foreach (var item in parameters){string[] str = item.Split(new char[] { '='});Console.WriteLine($"第{count}个参数:参数名:{str[0]},参数值:{str[1]};");count++;}}}}
}

练习二

  • 输⼊⼀个英⽂句⼦,翻转句⼦中单词的顺序,但单词内字符的顺序不变。
    句⼦中单词以空格符隔开。为简单操作,不要输⼊标点符号。
    例如输⼊“I am a student”,则输出“student a am I”。
这道题比上一道复杂些,不过也只需要了解一个String类的Concat()方法即可。

具体使用方式参见msdn提供的API

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace bMathTool
{#region /// <summary>/// 字符串工具类/// </summary>class StringTools{/// <summary>/// 反转字符串方法/// </summary>/// <param name="str">要反转的字符串</param>/// <returns>返回反转过的字符串</returns>public string ReverseStr(string str){if (str != null){//定义数组保存分割后但还未反转的字符数组string[] beforeReverse = str.Split(new char[] { ' '});//定义字符串变量用来保存反转后拼接好的字符串,初值赋nullstring afterReverse = null;//以下for循环是反转拼接操作for (int i = beforeReverse.Length - 1; i >= 0; i--){if (i == beforeReverse.Length - 1){afterReverse = string.Concat(afterReverse, beforeReverse[i]);}else{beforeReverse[i] = " " + beforeReverse[i].Trim();afterReverse = string.Concat(afterReverse, beforeReverse[i]);}}return afterReverse;}else{return str;}}}#endregionclass Program{static void Main(string[] args){//实例化工具StringTools tools = new StringTools();string testStr01 = "i am a student";//调用反转方法string afterReverse = tools.ReverseStr(testStr01);Console.WriteLine(afterReverse);}}
}

有疑问的可以私信博主。
点个关注,给个赞呗!

C#面向对象基础之String类的练习相关推荐

  1. Java基础:String类

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...

  2. java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式

    String基础 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode ...

  3. [JAVA基础类库] String类 ○ StringBuffer类 ○ StringBuilder类

    引言 字符串就是一连串的字符序列,Java提供了String.StringBuffer和StringBuilder三个类来封装对字符串,并提供了系列方法来操作字符串对象. String类是不可变类的: ...

  4. java string类方法_Java基础学习——String类及其方法

    String类概述 该类被final修饰,无子类,不可被复写.创建的对象一旦初始化,其内容不可被改变. String类复写了Object类中的equals()定义了自己的独特内容,该方法用于判断字符串 ...

  5. java面向对象使用字符串_java面向对象中的String类中12种常用的方法

    1.字符串与字符数组的转换 字符串可以使用toCharArray()方法变成一个字符数组,也可以使用String类的构造方法把一个字符数组变成一个字符串. public class StringAPI ...

  6. java 格式化字符串_Java入门 - 语言基础 - 14.String类

    1.概述 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 2.创建字符串 创建字符串最简单的方式如下: String gr ...

  7. Java基础:String类支持几种构造函数?

    String类支持几种构造函数.将创建空String的构造函数称为默认构造函数.例如, String s = new String(); 将创建一个String实例,该实例中不包含字符. 通常希望创建 ...

  8. java引入string类_Java基础教程——String类

    String类 Java程序中的所有字符串字面值(如 "abc" )都是String的实例 字符串是常量(因为 String 对象是不可变的,所以可以共享) 字符串的本质是字符数组 ...

  9. Java基础之String类(第六天)

    1.String类概述 API (Application Programming Interface,应用程序编程接口)1.Java写好的技术(功能代码),咱们可以直接调用.2.Oracle也为Jav ...

  10. Python OOP:面向对象基础,定义类,创建对象/实例,self,创建多个对象,添加对象属性,访问对象属性,__init__方法,带参数的__init__,__str__方法,__del__方法

    一.理解面向对象 面向对象是⼀种抽象化的编程思想,很多编程语⾔中都有的⼀种思想. ⾯向对象就是将编程当成是⼀个事物,对外界来说,事物是直接使用的,不用去管他内部的情况.⽽编程就是设置事物能够做什么事. ...

最新文章

  1. 物理学需要哲学,哲学需要物理学
  2. pyinstaller将python脚本转成exe可执行文件
  3. Numpy编写BP传播过程全解
  4. Spring的核心模块解析
  5. 软件测试度量计算方法有哪些,软件测试度量(三)
  6. 2014——我们都任性过
  7. python列表数据写入txt文件_Python将列表数据写入文件(txt, csv,excel)
  8. c++获取ctrl+v内容_处理文档时,快捷键「Ctrl+E」的 8 大妙用
  9. Gdiplus的使用
  10. 众元教育H3CSE20200603班-IPsec
  11. 变种WannaCry
  12. 基于Python的RNN文本生成写诗系统
  13. 数据类型--Number类型
  14. 深度迁移度量网络 Deep Transfer Metric Learning
  15. idea overlays文件夹_怎样把cyanogenmod移植到你自己的设备
  16. ESP32笔记(7) OpenSSL下载安装
  17. 精益看板方法从理论到实战 (5)—— 控制在制品数量(上)
  18. 网络编程和网络应用开发
  19. MySQL学习之路(一):使用命令行登录mysql的方式
  20. 20201211_127_编码知识_中文乱码问题解决

热门文章

  1. 计算机基础教学模式,浅谈中技计算机基础教学模式
  2. 35岁的程序员:第44章,宿命
  3. golang报错:slice bounds out of range
  4. Offset is outside the bounds of the DataView
  5. background简写属性
  6. thinkphp5.0漏洞修复
  7. 基于Web服务的物联网-WoT(Web of Things)
  8. 廊坊金彩:店铺如何分析问题
  9. 免费下载C++Prime!
  10. 吃土豆_nyoj_234(动态规划).java