大杂烩

一、类型转换
    字符串转整形:

int a = int.Parse(""); //不能转换null

int b = Convert.ToInt32("");  null转为0     四舍五入(.5的话只对奇数进行四舍五入)

// char.IsLetter  判断是否是数字

比较是否相等:

//            if(str == "abc")
            // if(String.Equals(str,"abc"))
            // if(String.Compare(str,"abc")==0)

获取对象地址:

GCHandle hander = GCHandle.Alloc(str1);
            var pin = GCHandle.ToIntPtr(hander);

Console.WriteLine(pin);

二、自定义可以代替单个参数情况下不用重载的方法:

public static string testFunction(object obj) {
            if (obj.GetType() == typeof(String)) {//判断类型
                return (String)obj;
            }else if(obj.GetType() == typeof(string[])){
                string tempString = "";
                foreach (object obje in (string[])obj) {
                    tempString += obje;            
                }
                return tempString;
            }
            return null;
        }

三、字符串格式化

string str = String.Format("{0:C}\n"+ "{0:D}\n" + "{0:E}\n" + "{0:F}\n" + "{0:G}\n" + "{0:N}\n" + "{0:P}\n" + "{0:X}\n",21);

输出:¥21.00    21     2.100000E+001      21.00     21     21.00    2,100.00%    15

三、字符串截取

str.Substring(下标,长度)

四、字符串分割与合并与插入

string str = "12-345=67-89";
           String[] strArray = str.Split('-','=');//参数为字符或字符数组

foreach (var obj in strArray) {
                Console.WriteLine(obj);
            }
            Console.WriteLine(String.Concat(strArray));//直接合并

Console.WriteLine(String.Join("++",strArray));//加分隔符合并

Console.WriteLine(String.Join("++", strArray).Insert(2,"aaa"));//插入

五、字符串填充

String str = "123";
           Console.WriteLine(str.PadLeft(10,'0'));//输出0000000123

六、字符串移除

str.Remove(下标,长度)//移除下标以后的数据(包括下标位置)

七、字符串修剪      public String Trim(params char[] trimChars);可变参数个数  (‘1’,‘2’)<=>  char[] ch = { '1', '2' };(ch)<=>("12".ToCharArray())

str.Trim()//删除头部和尾部的空格,用于输入框字符串的处理

八、字符串复制

String str = "0123456789";
            //Copy 是静态方法(类方法)
            Console.WriteLine(String.Copy(str));
            //Copy非静态方法(实例方法)
            char[] ch = new char[20];
            str.CopyTo(4, ch, 0, 3);//返回void类型 (copy起始下标,目标对象,目标对象起始下标,copy长度)
            Console.WriteLine(ch);

九、字符串替换

str.Replace('9', '0')//(old,new)

十、字符串查找

str.IndexOf("345")   返回-1 表示不不包含   返回int类型

checked  检查异常

C#之字符串篇的更多相关文章

  1. c++ LeetCode (初级字符串篇) 九道算法例题代码详解(二)

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11089327.html 已经刷了很多篇leetcode题了,不过最近在找c++的实习工作(大佬 ...

  2. golang基础教程——字符串篇

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题的第6篇文章,这篇主要和大家聊聊golang当中的字符串的使用. 字符串定义 golang当中的字符串本质是只读的字符 ...

  3. Java OOP中的字符串篇

    字符串的三大特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.St ...

  4. (4)ES6解构赋值-字符串篇

    字符串的解构赋值 let [a,b,c,d,e] = 'Apple'; console.log(a); //A console.log(b); //p console.log(c); //p cons ...

  5. Leetcode初级算法(字符串篇)

    目录 反转字符串 颠倒整数 字符串中的第一个唯一字符 有效的字母异位词 验证回文字符串 实现strStr() 数数并说 最长公共前缀 字符串转整数(atoi) 反转字符串 和vector同样的进行sw ...

  6. LeetCode刷题总结-字符串篇

    本文梳理对LeetCode上有关字符串习题的知识点,并给出对应的刷题建议.本文建议刷题的总数为32题.具体知识点如下图: 1.回文问题 题号:5. 最长回文子串,难度中等 题号:214. 最短回文串, ...

  7. 【夯实PHP基础】PHP数组,字符串,对象等基础面面观

    本文地址 分享提纲 1.数组篇 2.字符创篇 3.函数篇 4.面向对象篇 5.其他篇 /*************************** 一.数组篇 Begin***************** ...

  8. c++ LeetCode(初级数组篇)十一道算法例题代码详解(一)

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/10940636.html 唉!最近忙着面试找实习,然后都是面试的很多是leetcode的算法题, ...

  9. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串   24.6% 中等 5 最长回文子串   22.4% 中等 6 Z字形变换   35.8% 中等 8 字符串转整数 (atoi)   ...

随机推荐

  1. MySQL server version for the right syntax to use near 'TYPE=MyISAM'

    最近将一个版本为4.0.18-Max的MySQL数据库迁移到5.6.20-enterprise-commercial-advanced上.好吧,这是我迄今为止,见到过的最古老版本的MySQL数据库,这 ...

  2. 深入解析Windows操作系统笔记——CH2系统结构

    2.系统结构 本章主要介绍系统的总体结构,关键部件之间的交互,以及运行在什么环境. 2.系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.3.1 可移植性 2.3.2 对称 ...

  3. javascript-桥接模式

    桥接模式 1.在系统沿着多个维度变化的同时,又不增加其复杂度并以达到解耦 2.最主要特点:将实现层(如元素绑定的事件)与抽象层(如修饰页面UI逻辑)解耦分离,使两部分独立变化 3.避免需求的改变造成对 ...

  4. MySQL Performance-Schema(一) 配置篇

    performance-schema最早在MYSQL 5.5中出现,而现在5.6,5.7中performance-Schema又添加了更多的监控项,统计信息也更丰富,越来越有ORACLE-AWR统计信 ...

  5. TCP三次握手建立连接

    基本过程:       ISN(初始序号)随时间变化,每一个连接具有不同的ISN,防止在网络延迟中分组被重新发送.   请求端发送SYN(同步序号 )=1,seq=ISN(32bits序号,每4ms+ ...

  6. ionic入门01

    总述 ionic是一个强大的混合式/hybrid HTML5移动开发框架,特点是使用标准的HTML.CSS和JavaScript,开发跨平台的应用. 接下来,敝人会从0到1采用ionic构建一个简单的 ...

  7. python基础(七)函数

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后 ...

  8. Linux IPC udp/tcp/UNIX域 socket编程

    UNIX域套接字本地通信即在socket第一个参数中选择AF_LOCAL,socket是BSD提出的一种适用于所有的情况的进程间通信的方式,虽然现在多用于网络通信,但是本机内的进程间通信也是没有问题的 ...

  9. java http工具类和HttpUrlConnection上传文件分析

    利用java中的HttpUrlConnection上传文件,我们其实只要知道Http协议上传文件的标准格式.那么就可以用任何一门语言来模拟浏览器上传文件.下面有几篇文章从http协议入手介绍了java ...

  10. linux环境变量的设置

    linux中环境变量分为系统环境变量和用户环境变量(和window中一样),系统环境变量对所有系统用户都有效,用户环境变量只对当前用户有效,我们以ubuntu为例说明 用户环境变量 用户环境变量通常存 ...