C#基础之十二 命名空间

前言

      命名空间是C#中的一个部分,在刚刚开始看C#视频的时候就有所了解,但是当时只是听说了而已,并没有进行深入的了解,现在有了一个了解的机会,所以自己在学习之后,对他进行了一番总结,和大家分享一下!

分享阶段

  • 命名空间(namespace)
    • ①用于解决类重名问题,可以看做:“类的文件夹”,类似于将同名的文件夹建在同一个路径位置,是不可以的(不能重名,需要重命名)
    • ②如果代码和被使用的类在一个namespace,则不需要using
    • ③在不同命名空间下的类调用有两种方法:
      • (1)写全称 命名空间.类名
      • (2)先using引用命名空间,在调用
      • 例:如果B用到A中的方法,那么在B中“添加引用”,引用A中的方法,这时候需要用using
    • 示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using _01面向对象;
namespace _06命名空间
{
    class Program
    {
        static void Main(string[] args)
        {
             Person p = new Person();
            p.Name = "张三";
            p.Walk();
            Console.ReadKey(); 
        }
    }
}

说明:代码中的第六行就是引用01面向对象中的方法

  • 字符串:
    • ①string可以看做是char的只读数组。char c=s[1];
      • 如:遍历输出string中的每个元素
    • ②C#字符串中有一个重要的特性:不可变性,字符串一旦声明就不可以在改变,所以只能通过索引来读取制定的位置的char,不能对指定位置的char进行修改
    • ③如果要对char进行修改,必须创建一个新的字符串,用s.ToCharArray()方法得到字符串的char数组,对数组进行修改后,调用new string(char[])这个构造函数来创建char数组的字符串。一旦字符串被创建,那么char数组的修改也不会造成字符串的变化,如:将字符串中的A替换成
  • 判断内容是否一样的时候,不进行大小写区分的情况,写法:
    • 示例:
namespace _02字符串处理
{
    class Program
    {
        static void Main(string[] args)
        {
//练习:两个学员输入各自最喜欢的课程名称
            //判断是否一致,如果相等,则输出你们俩喜欢的相同的课程
            //如果不相同,则输出你们两个不喜欢的课程名称

            Console.WriteLine("输入第一门课程");
            string str1 = Console.ReadLine();
            Console.WriteLine("输入第二门课程");
            str1 = str1.ToLower();//根据指定区域的大小写规则返回此字符串转换为小写形式的副本(将大小写统一一下,将字符串转换成小写)
     //str2=str2.ToUpper();//把字符串转换成大写
            string str2 = Console.ReadLine();
            str2 = str2.ToLower();
     //str2=str2.ToUpper();//把字符串转换成大写
            if(str1==str2)
            {
                Console.WriteLine("课程一样");
            }
            else
            {
                Console.WriteLine("课程不同{0}----------{1}",str1,str2);
            }
            Console.ReadKey();
        }
    }
}
  • String类常用方法:
    • (1)ToLower():得到字符串的小写形式
    • (2)字符串是不可变的(指内存中的字符串不可变,而不是变量不变),所以函数不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()与s=s.ToLower()
    • (3)ToUpper():得到字符串的大写形式;Trim()去掉字符串两端的空白
    • (4)s1.Equals(s2,StringComparison.OrdinallgnoreCase),两个字符串进行比较不区分大小写的比较
    • (5)s1==s2
 bool result = str1.Equals(str2,StringComparison.OrdinalIgnoreCase);//忽略大小写比较
  • 示例:
string  str=null是不给他分配内存空间,而string  str=“”给他分配了长度为空字符串的内存空间,string str=null没有string对象,string str=“”有一个字符串对象
  • 字符串的分割:
string[]Split(params char[]se parator):将字符串按照指定的分隔符分割为字符串数组
string[]Split(char[]separator,StringSplitOptions options):将字符串按照指定的char分隔符分割为字符串数组,(options取RemoveEmptyEntries的时候移出结果中的空白字符串)

一切类型都可以调用.ToString()方法转换成字符串类型

  • 如:
int num=10;
string s=num.ToString();
Console.ReadKey();
  • 示例1:
namespace _03移出字符串中不想要的内容
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "丫  头   不   听   话-----了   !";
            char[] chs = new[] { ' ', '-' };//声明一个数组,将不想要的东西放到里面,如空格和-
            string[] result = str.Split(chs,StringSplitOptions.RemoveEmptyEntries);//将数组放到方法“Split”中,移出字符串中不想要的内容,并且去掉空白项
            for(int i=0;i<result.Length;i++)
            {
                Console.Write(result[i]);
            }
            Console.ReadKey();
 }
  • 示例2:
 static void Main(string[] args)
        {
            string date = "2012-----11--------02";
            char[] chs = new char[] { '-' };
            string[] time = date.Split(chs,StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine("{0}年{1}月{2}日",time[0],time[1],time[2]);
            Console.ReadKey();
        }
  • 字符串中的替换:
    • 示例:
namespace _04字符串练习
{
    class Program
    {
        static void Main(string[] args)
        {
  string name = "小杨很邪恶!";
            name = name.Replace('很', '不');//将“很”换成了“不”
Console.WriteLine(name);
Console.ReadKey();
        }
    }
}

小结

      我的第一感受就是越往后面越复杂,用到的都是之前讲解的一些小的知识点,只是到后面面对一些问题的时候,运用的是这些小的知识点,在加上自己对这个问题的理解与解决方案、设计方法,个人觉得这一部分是比较难的,大概是因为经历的实践项目或者说是面对这种问题太少了,没有什么经验吧,所以感觉会有一定的难度,这是最新的收获总结,希望大家多多提出宝贵的建议与意见,在此不胜感激!!!

猜你喜欢

转载自blog.csdn.net/tigaobansongjiahuan8/article/details/80898987
今日推荐