自学五--字符串

在 C# 中,可以使用字符数组来表示字符串,但是,更常见的做法是使用 string 关键字来声明一个字符串变量。string 关键字是 System.String 类的别名,表示由零个或者多个Unicode字符组成的不可变序列。可使用[ ]访问每个字符。

    string welcomeText = "欢迎你";
    welcomeText=”Hi";

重新赋值之前,内存首先会重新初始化一块区域,并且将值初始化位Hi。原来存放的内存区域不可修改。

string类型为引用类型,string变量本身存储在栈中,而变量所指向的值则存储在托管堆里面。

§7.1 字符串定义及初始化

创建String对象:

  • 通过给 String 变量指定一个字符串
  • 通过使用 String 类构造函数
  • 通过使用字符串串联运算符( + )
  • 通过检索属性或调用一个返回字符串的方法
  • 通过格式化方法来转换一个值或对象为它的字符串表示形式

eg:

// #region << 版 本 注 释 >>
// /*----------------------------------------------------------------
// // Copyright (C) 2019 极客部落
// // 版权所有。 
// //
// // 文件名:Program.cs
// // 文件功能描述:
// //
// // 
// // 创建者:GeekTribe
// // 时间:14:05
// //----------------------------------------------------------------*/
// #endregion
using System;
​
namespace MSN
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            //字符串,字符串连接
            string fname, lname;
            fname = "Rowan";
            lname = "Atkinson";
​
            string fullname = fname + lname;
            Console.WriteLine("Full Name: {0}", fullname);
​
            //通过使用 string 构造函数
            char[] letters = { 'H', 'e', 'l', 'l', 'o' };
            string greetings = new string(letters);
            Console.WriteLine("Greetings: {0}", greetings);
​
            //方法返回字符串
            string[] sarray = { "Hello", "From", "Tutorials", "Point" };
            string message = String.Join(" ", sarray);
            Console.WriteLine("Message: {0}", message);
​
            //用于转化值的格式化方法
            DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
            string chat = String.Format("Message sent at {0:t} on {0:D}",
            waiting);
            Console.WriteLine("Message: {0}", chat);
        }
    }
}
​
/*输出结果*/
/*
  Full Name: RowanAtkinson
  Greetings: Hello
  Message: Hello From Tutorials Point
  Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
*/

§7.2 String 类属性

第七章 字符串

 

eg:

// #region << 版 本 注 释 >>
// /*----------------------------------------------------------------
// // Copyright (C) 2019 极客部落
// // 版权所有。 
// //
// // 文件名:Program.cs
// // 文件功能描述:
// //
// // 
// // 创建者:GeekTribe
// // 时间:14:05
// //----------------------------------------------------------------*/
// #endregion
using System;
​
namespace MSN
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string str = "This is test";
​
            Console.WriteLine("str.length = {0}", str.Length);
        }
    }
}

§7.3 常用字符串操作函数

String 类有许多方法用于 string 对象的操作。如下所示图表提供了一些最常用的方法:

第七章 字符串

 

eg:

// #region << 版 本 注 释 >>
// /*----------------------------------------------------------------
// // Copyright (C) 2019 极客部落
// // 版权所有。 
// //
// // 文件名:Program.cs
// // 文件功能描述:
// //
// // 
// // 创建者:GeekTribe
// // 时间:14:05
// //----------------------------------------------------------------*/
// #endregion
using System;
​
namespace MSN
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string str1 = "Hello, World!";
            string str2 = "One World, One Dream!";
​
            //字符串比较
            if (String.Compare(str1, str2) == 0)
            {
                Console.WriteLine(str1 + " and " + str2 + " are equal.");
            }
            else {
                Console.WriteLine(str1 + " and " + str2 + " are not equal.");
            }
​
            //字符串包含
            if (str1.Contains("One"))
            {
                Console.WriteLine("The sequence 'test' was found.");
            }
            else {
                Console.WriteLine("The sequence 'test' was not found.");
            }
​
            //字符串判等
            if (String.Equals(str1, str2))
            {
                Console.WriteLine(str1 + " and " + str2 + " are equal.");
            }
            else
            {
                Console.WriteLine(str1 + " and " + str2 + " are not equal.");
            }
​
            //字符串格式化
            string str_format = String.Format("Hello, {0}", "wendy");
            Console.WriteLine("str_format = {0}", str_format);
​
            //字符串判空
            if (String.IsNullOrEmpty(str1))
            {
                Console.WriteLine("str1 is null or empty!");
            }
            else {
                Console.WriteLine("str1 is not null or empty!");
            }
​
            //字符串分割
            string[] strSplits = str1.Split('o');
            foreach (string substr in strSplits)
            {
                Console.Write(substr);
                Console.Write(" ");
            }
​
            Console.WriteLine("");
​
            //字符串转字符数组
            char[] str_chs = str1.ToCharArray();
            foreach (char ch in str_chs) {
                Console.WriteLine(ch);
            }
​
            //字符串空首尾白字符移除
            string str3 = "    #$$I am very happy!!  ##$$  ";
            Console.WriteLine("str.Trim() = " + str3.Trim());
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值