.net一些知识点的记录之字符串

简介:

1.字符串对象一旦创建就不能更改。对字符串进行操作的方法实际会返回新的字符串对象。因此,出于性能方面的考虑,大量连接或其他涉及的字符串操作通过StringBuilder类来执行。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace @string
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "kehaojian";
            string b = a;
            a = "haojian";
            Console.WriteLine(a);//a的值是haojian,而不是kehaojian
            Console.WriteLine(b);//b的值是kehaojian,而不是haojian
            Console.ReadKey();
        }
    }
}
字符串对象一旦创建就不能更改。这句话不是说他不能修改,而是说初始化后这个值会一直存在,上面的这个例子就是一个很好的说明。a修改后不会影响到b的引用对象。

字符串的Substring方法:第一个参数是从0开始计数的。
string str1="kehao";
string str2="jian"
str1=str1+str2;
Console.Writeline(str1);//结果是kehaojian;
string str1=str1.Substring(2,5);
Console.Writeline(str1);//结果是haoji;

用这个例子也可以说明上面的对字符串进行操作的方法实际会返回新的字符串对象。+连接符会创建一个包含内容的新字符串。那么结果输出的str1会引用创建的新的字符串。同时“kehao”这个字符串还存在,但以后将不再被引用,因为str1现在引用的是kehaojian这个字符串。


2.处理字符串的各种方法基本都包含在system.string和system.text.stringbuilder类中,大体包括下面的操作:
转义处理:解决字符串中的特殊字符问题。
创建新字符串:将对象转换为字符串和合并字符串的方法。
剪切和移除字符。
插入字符串。
比较字符串。
大小写。

 字符串和字符之间的关系。
            string a = "kehaojian";
            char[] arr = a.ToCharArray();
            foreach (char b in arr)
            {
                Console.WriteLine(b);
            }
拆分字符串:
  char a=';';//字符串用双引号,字符用单引号;
  char[] a =new char[]{' '};
            string b = "ke hao jian";
            string[] c = b.Split(a);
            foreach (string d in c)
            {
                Console.WriteLine(d);
            }


3.StringBuilder类的使用:
使用Append来连接多个字符串:
    StringBuilder ke = new StringBuilder("kehaojian", 35);
            ke.Append(",welcome to my home");
            ke.Append("  thank you");
            Console.WriteLine(ke);//输出kehaojian,welcome to my home thank you
          
            Console.ReadKey();
stringbuilder的方法有Append,AppendFormat,Insert,Remove,Replace.




本文转自gauyanm 51CTO博客,原文链接:http://blog.51cto.com/gauyanm/560512,如需转载请自行联系原作者

相关文章
|
2月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
5月前
|
人工智能 开发框架 调度
C#/.NET这些实用的技巧和知识点你都知道吗?
C#/.NET这些实用的技巧和知识点你都知道吗?
|
开发框架 .NET
.net 字符串逗号隔开去重
.net 字符串逗号隔开去重
57 0
.net 字符串逗号隔开去重
.NET指定图片地址下载并转换Base64字符串
.NET指定图片地址下载并转换Base64字符串
151 0
.NET 字符串 编码转换 GB2312 UTF8
将 gb2312 转换 utf8 编码 private void button1_Click(object sender, System.EventArgs e) {  byte[] temp;  //将 textBox1.
1621 0
|
JSON 前端开发 数据格式
.net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值
在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string url, string whereClause) { string str=""; return Json(str); }   此时如果str过长,就会报“使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值”。
2951 0
|
JSON 数据格式
将JSON字符串反序列化为指定的.NET对象类型
将JSON字符串反序列化为指定的.NET对象类型
171 0
.NET中将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),并使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA
.NET中将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),并使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA
353 0
|
数据库
.NET的EF框架中:在应用程序配置文件中找不到名为“”的连接字符串问题
.NET的EF框架中:在应用程序配置文件中找不到名为“”的连接字符串问题
404 0
.NET的EF框架中:在应用程序配置文件中找不到名为“”的连接字符串问题
|
JSON 开发框架 算法
.Net 序列化枚举为字符串
我所做的项目是需要调用业务算法的,算法中有一个入参是油品的性质,这个性质有名称、编码、类型等属性,其中类型是固定质量性质、体积性质和其他性质这三种,所以我把其作为枚举类型。问题也由此产生,默认情况下,枚举是以其整数形式进行 JSON 序列化,这就需要同研发算法的同事约定好数值的含义。但是经过协商,算法同事要求我们传递成字符串。因此,我们希望它们在一些情况下以字符串的形式进行序列化。本文将讲解实现这一目标的各种方法。