C#中new String()构造函数使用解析

简介: 一、案例代码 static void Main()          {             // Create a Unicode String with 5 Greek Alpha character...

一、案例代码

  1. static void Main()
  2.          {
  3.             // Create a Unicode String with 5 Greek Alpha characters
  4.             String szGreekAlpha = new String('\u0319', 5);
  5.             // Create a Unicode String with a Greek Omega character
  6.             String szGreekOmega1 = new String(new char[] { '\u03A9', '\u03A9', '\u03A9' });
  7.             String szGreekOmega = new String(new char[] { '\u03A9', '\u03A9', '\u03A9' }, 2, 1);

  8.              /* 连接三个指定对象 */
  9.             String szGreekLetters = String.Concat(szGreekOmega, szGreekAlpha, szGreekOmega.Clone());
  10.             Console.WriteLine(szGreekAlpha);
  11.             Console.WriteLine(szGreekOmega1);
  12.             Console.WriteLine(szGreekOmega);
  13.             // Examine the result
  14.             Console.WriteLine(szGreekLetters);

  15.             // The first index of Alpha
  16.             int ialpha = szGreekLetters.IndexOf('\u0319');
  17.             // The last index of Omega
  18.             int iomega = szGreekLetters.LastIndexOf('\u03A9');

  19.             Console.WriteLine("The Greek letter Alpha first appears at index " + ialpha +
  20.                 " and Omega last appears at index " + iomega + " in this String.");
  21.             
  22.              Console.ReadKey();
  23.          }



image
图1


二、主要关注点:

1、String构造函数中的Unicode字符的写法:

‘\u0319’,而不是’/u0319’;

2、String的三个构造函数的写法:


  1. new String('\u0319', 5);

创建5个’\u0319’到字符串;


  1. new String(new char[] { '\u03A9', '\u03A9', '\u03A9' });

将 System.String 类的新实例初始化为由 Unicode 字符数组指示的值。


  1. new String(new char[] { '\u03A9', '\u03A9', '\u03A9' }, 2, 1);

将 System.String 类的新实例初始化为由指向 Unicode 字符数组的指定指针、该数组内的起始字符位置和一个长度指示的值。即取数据的a[2]开始的长度为1的字符串赋值给String。

 

参考博客:

http://blog.csdn.net/tsiring/article/details/4688103

相关文章
【Java基础面试三十二】、new String(“abc“) 是去了哪里,仅仅是在堆里面吗?
这篇文章解释了Java中使用`new String("abc")`时,JVM会将字符串直接量"abc"存入常量池,并在堆内存中创建一个新的String对象,该对象会指向常量池中的字符串直接量。
|
5月前
|
SQL 安全 数据格式
PEP 750 t-string 深度解析:与 f-string 的差异与进化
Python 3.14 即将引入的 t-string(模板字符串)是字符串处理的重大革新。作为 f-string 的继任者,t-string 通过延迟渲染机制重新定义了字符串模板处理方式。本文从核心机制(即时求值 vs 延迟渲染)、技术特性(语法到语义进化)、应用场景(安全敏感场景、复杂模板系统等)及性能兼容性等方面深入解析,展示其在安全框架、代码生成等领域的广阔前景。开发者可根据需求选择 f-string 或 t-string,实现更高效、可控的字符串处理。
128 13
|
12月前
|
安全 C语言 C++
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
141 4
|
自然语言处理 Python
全方位解析 f-string
全方位解析 f-string
200 0
|
存储 算法 搜索推荐
深入解析String数组的操作与性能优化策略
深入解析String数组的操作与性能优化策略
|
JavaScript 前端开发
深度解析 new 原理及模拟实现
【8月更文挑战第1天】 深度解析 new 原理及模拟实现
118 0
|
缓存 NoSQL Redis
Redis深度解析:核心数据类型之string
Redis 数据类型包括String、Hash、List、Set和Sorted Set。对于String类型的主要操作, 此外,还有通用的Key操作。
数据存储之数组的特点,长度固定,适应变化需求,集合类特点是空间可变,ArrayList泛型,ArrayList<String> array = new ArrayList<String>()
数据存储之数组的特点,长度固定,适应变化需求,集合类特点是空间可变,ArrayList泛型,ArrayList<String> array = new ArrayList<String>()
String对象的特点,new创建的字符串对象地址值不同,String s3 = “abc“; s4=“abc“ sout(s1 == s2)比较地址和内容,s1.equals(s3)比较内容
String对象的特点,new创建的字符串对象地址值不同,String s3 = “abc“; s4=“abc“ sout(s1 == s2)比较地址和内容,s1.equals(s3)比较内容
new String()定义字符串为空,char[] chs = {‘a‘,‘b‘,‘c‘} String s2 = new String(chs) 输出abc,byte定99为a
new String()定义字符串为空,char[] chs = {‘a‘,‘b‘,‘c‘} String s2 = new String(chs) 输出abc,byte定99为a

热门文章

最新文章

推荐镜像

更多
  • DNS