C#开发 —— 基础知识

C# 用于开发可以运行在 .Net 平台上的应用程序,C# 本身只是一种语言,尽管它是用于生成面向 .Net 环境的代码,但它本身不是 .Net 的一部分

Console.WriteLine

命名空间 —— using 指令将命名空间名所标识的命名空间内的类型成员导入到当前编译单元中,从而可以直接使用(不必加上完全限定名)

一种程序组织形式 —— 内部,或外部 (对外公开的组织结构)

可以在项目的命名空间中定义命名空间,但这样不能用using 来引用自定义的命名空间


 

C# 的所有语句都必须位于类内

Main 方法是程序的入口点,一个C#程序只能有一个main方法,必须是静态

值类型是从 System.ValueType 类继承而来的类型 —— 栈

引用类型 —— 必须在托管堆中为引用类型变量分配内存,由垃圾回收机制来管理控制 —— 堆

每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值   int i=new int();   等价于  Int32 i = new Int32();

C#的所有值类型均隐式派生自 System.ValueType , 而System.ValueType 直接派生自 System.Object  ——  System.ValueType 本身是一个类类型而不是值类型,其关键在于ValueType重写了Equals方法,从而对值类型按照实例的值比较,而不是引用地址来比较

int ls = 927;                                //声明一个int类型的变量lsbyte shj = 255;                            //声明一个byte类型的变量shjConsole.WriteLine("ls={0}", ls);                //输出int类型变量lsConsole.WriteLine("shj={0}", shj);                //输出byte类型变量shj

C# 中使用 enum 来声明枚举类型

类型转换

隐式

显式

装箱和拆箱 (装箱 —— 将值类型隐式转换成引用类型,拆箱 —— 允许将引用类型显示转换为值类型)

int i = 2008;                                //声明一个int类型变量i,并初始化为2008object obj = i;                            //声明一个object类型obj,其初始化值为iConsole.WriteLine("1、i的值为{0},装箱之后的对象为{1}", i, obj);i = 927;                                    //重新将I赋值为927Console.WriteLine("2、i的值为{0},装箱之后的对象为{1}", i, obj);Console.ReadLine();

装箱后改变值类型变量的值,并不会影响装箱对象的值

int i = 112;                                //声明一个int类型的变量i,并初始化为112object obj = i;                                //执行装箱操作Console.WriteLine("装箱操作:值为{0},装箱之后对象为{1}", i, obj);int j = (int)obj;                            //执行拆箱操作Console.WriteLine("拆箱操作:装箱对象为{0},值为{1}", obj, j);Console.ReadLine();

拆箱前后类型要保持一致,否则会出现异常

常量 用const 修饰,且创建常量是必须设置它的初始值


 

C# 中的特殊运算符

is 检查变量是否为指定的类型,不能重载 is 运算符

typeof 用于获得系统原型对象的类型,也就是 Type 对象。Type类包含关于值类型和引用类型的信息

Type mytype = typeof(int);


 

Char 在 C#中表示一个 Unicode 字符

InControl

IsDigit

IsLetter

IsLetterOrDigit

IsLower

IsNumber

IsPunctuation  标点符号类别

IsSeparator  分隔符类别

IsUpper

IsWhiteSpace

Parse  将指定字符串的值转换为他的等效Unicode字符

ToLower

ToUpper

 

字符串 string ,它是String类的别名

String 对象的值是不可改变的,String类所定义的变量是一个引用类型

比较字符串    

Compare(bool ignoreCase) 

CompareTo —— 以实例对象本身与指定的字符串作比较

Equals —— 两个字符串是否相同 (区分大小写和区域性)

格式化字符串

Format —— 索引占位符(格式项)

string StrA = "用一生下载你";                                    //声明字符串StrAstring StrB = "永不放弃";                                        //声明字符串StrBstring newstr = String.Format("{0},{1}!!!", StrA, StrB);                    //格式化字符串

用于日期的格式规范

DateTime dt = DateTime.Now;                            //获取系统当前日期string strB = String.Format("{0:D}", dt);                    //格式化成短日期格式

截取字符串

Substring

分割字符串

Split

string StrA = "用^一生#下载,你";                            //声明字符串StrAchar[] separator = { '^', '#', ',' };                                //声明分割字符的数组String[] splitstrings = new String[100];                        //声明一个字符串数组splitstrings = StrA.Split(separator);                            //分割字符串

插入和填充字符串

Insert    PadLeft    PadRight

删除字符串

Remove

复制字符串

Copy   CopyTo —— 将字符串的某一部分复制到另一个数组中

string str1 = "用一生下载你";                    //声明一个字符串变量str1并初始化char[] str = new char[100];                        //声明一个字符数组str//将字符串str从索引1开始的4个字符串复制到字符数组str中str1.CopyTo(1, str, 0, 4);

替换字符串

Replace

 

 

可变字符串类 StringBuilder

存在于 System.Text 命名空间中 —— String对象是不可改变的,每次使用String类中的方法时,都要在内存中创建一个新的字符串对象。如需要对字符串执行重复修改 —— StringBuilder

StringBuilder LS = new StringBuilder("用一生下载你", 100);LS.Append("VS芸烨湘枫");                    //使用Append方法将字符串追加到LS的末尾Console.WriteLine(LS);                        //输出LS//使用AppendFormat方法将字符串按照指定的格式追加到LS的末尾LS.AppendFormat("{0:C}", Num);Console.WriteLine(LS);                        //输出LSLS.Insert(0, "名称:");                        //使用Insert方法将“名称:”追加到LS的开头Console.WriteLine(LS);                        //输出LS//使用Remove方法从LS中删除索引15以后的字符串LS.Remove(15, LS.Length - 15);Console.WriteLine(LS);                        //输出LS//使用Replace方法将“名称:”替换成“一生所爱”LS.Replace("名称", "一生所爱");

转载于:https://www.cnblogs.com/sprint1989/p/3825573.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JMS 2.0的新增功能

这篇文章列出了JMS 2.0 ( Java EE 7平台的一部分)引入的所有新API(接口/类/注释等)。 这些分类如下 API简化 使用方便 异常处理 杂 这是一个简短的摘要以及一些代码片段 API简化 JMSContext 在Connection和Session对象之上…

oracle存储过程与函数的区别及作用,Oracle存储过程与存储函数-入门

文章思维导图一. 存储过程和存储函数的定义定义:存储在数据库中,供所有用户程序调用的子程序叫做存储过程/存储函数。复杂点的解释:存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL 语句集,该SQL语句…

CC++初学者编程教程(8) VS2013配置编程助手与QT

1. 2. 配置编程助手 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39 40 41 42 43 这个时候我们就在VS2013里面集成了QT,编程助…

java内存模型概述_Java内存模型-快速概述和注意事项

java内存模型概述在计算中, 内存模型描述了线程如何通过内存交互,或更一般地,它指定了为分段内存或分页内存平台生成代码时允许编译器进行的假设。 在给定程序和该程序的执行跟踪的情况下,它实质上描述了执行跟踪是否是该程序的合…

oracle目录删除后恢复,Oracle删除后不能重新安装的解决方法

很多朋友只用了Oracle的删除,但很多情况下,他会发现重新安装时,点了下一步安装界面就消失了,往往无奈下只好重装系统,其实只是你数据库没删干净,删干净就不会出现这种情况了。实现方法:1、 开始…

jquery简单实现树形结构收缩展开效果

代码量很少&#xff0c;注意要取消冒泡 e.stopPropagation(); <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title></title><style type"text/css">.child{ display: none;}li{ cu…

转子碰磨 matlab,航空科普:什么是航空发动机转子碰磨?

中国航空报讯&#xff1a;随着人们对航空发动机油耗、推重比等要求的逐步提高&#xff0c;提升航空发动机运行效率&#xff0c;尤其是提升民用航空发动机的经济性已经变得越来越重要。航空发动机的总体运行效率是气动效率、燃烧效率、冷却效率与机械效率等共同决定的。其中&…

Android 自定义 ListView 显示网络上 JSON 格式歌曲列表

本文内容 环境 项目结构 演示自定义 ListView 显示网络上 JSON 歌曲列表 参考资料 本文最开始看的是一个国人翻译的文章&#xff0c;没有源代码可下载&#xff0c;根据文中提供的代码片段&#xff0c;自己新建的项目&#xff08;比较可恶的是&#xff0c;没有图标图片资源&…

oracle 索引invisible,Oracle index unusable和invisible的区别

invisible index会被优化器所忽略&#xff0c;但是dml操作仍然会维护索引。在session或者system级别使用参数OPTIMIZER_USE_INVISIBLE_INDEX摘录自Oracle 11g的官方文档&#xff1a;UNUSABLE Specify UNUSABLE to mark the index or index partition(s) or index subpartition(…

php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现

我们先动手在linux上生成一下rsaPs&#xff1a;openssl是一堆加密算法和安全协议的开源集合,像RSA,DES,MD5,RC4等等,都能在openssl里面找到源代码.用openssl指定生成test.key文件&#xff0c;其中包含公钥私钥&#xff0c;1024为生成密钥长度tbtb:~/mimi$ openssl genrsa -out …

angularjs 服务

内置服务 1、$timeout 2、$watch(obj,fun)&#xff1a; fun(newVal,oldVal,scope) //newVal是新改变的值&#xff0c;oldVal是旧值 3、$destroy()&#xff1a;作用域的销毁&#xff0c;如果子作用域不再有用了。那么子作用域的创建者就会负责用$destroy()来将它销毁。这回停止$…

java中字符和字节的转换_Java最佳实践–字符到字节和字节到字符的转换

java中字符和字节的转换在使用Java编程语言时&#xff0c;我们将继续讨论与建议的实践有关的系列文章&#xff0c;我们将讨论String性能调优。 特别是&#xff0c;我们将着重于使用默认编码时如何有效地处理字符到字节和字节到字符的转换。 本文总结了两种建议的自定义方法与两…

一个简单的单例模式的类

public class Singleton {private Singleton(){}private static Singleton instance;public static Singleton getInSingleton(){if(instance null){synchronized (Singleton.class) {if(instance null){instance new Singleton();}}}return instance;}}私有的构造方法不能别…

oracle数据库存大文本,Oracle大文本在ASP中存取问题的解决

一、关于ADO在基于Client/Server结构的数据库环境中&#xff0c;通过OLE DB接口可以存取数据&#xff0c;但它定义的是低层COM接口&#xff0c;不仅不易使用&#xff0c;而且不能被VB&#xff0c;VBA&#xff0c;VBScript等高级编程工具访问。而使用ADO则可以很容易地使VB等编程…

java桌面版_长大了Java! 提出Java桌面版

java桌面版不&#xff0c;这不是另一个“ Java已死”的咆哮。 Java非常活跃。 它是可用的最佳开发和运行时平台之一。 迄今为止&#xff0c;最稳定的平台。 那可能只是它最大的祸根。 荒谬&#xff01; 稳定性如何&#xff1f; 你可能会问。 好吧&#xff0c;您可以看到创新所带…

[原创]2014年上半年测试书籍推荐

[原创]2014年上半年测试书籍推荐 周末&#xff0c;打扫完屋子&#xff0c;趁着有空&#xff0c;也整理下自己在2014年上半年翻看的测试相关的书&#xff01; 1 书名&#xff1a; 《google软件测试之道》 图书地址&#xff1a;http://item.jd.com/11330792.html 推荐星级&#x…

PHP文件加到WordPress页面,WordPress-所有页面链接到index.php文件

[WORDPRESS上的新功能]我正在使用自己的CSS等创建自己的wordpress主题。我设法在index.php文件中获得了所有不错的东西, 而且我现在也尝试制作其他页面。当我制作home.php, blog.php, about.php和contact.php文件(在我的主题文件夹中)时, 它们没有链接到该文件。我遵循Lynda.co…

Android实现简单短信发送器

布局&#xff1a; <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:id"id/container"android:layout_width"match_parent"android:layout_heigh…

linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令

服务器今天小编给大家分享的是使用linux的sha1sum命令查看效验文件哈希值命令&#xff0c;相信很多人都不太了解&#xff0c;为了让大家更加了解&#xff0c;所以给大家总结了以下内容&#xff0c;一起往下看吧。一定会有所收获的哦。sha1sum命令用于生成和校验文件的sha1值。它…

Java中的传值与传引用

曾经对java中传值还是传引用的问题十分困惑&#xff0c;而且也被问到过许多次&#xff0c;无论是面试&#xff0c;还是平时我们平时的讨论中。 在stackoverflow上面浏览时&#xff0c;无意中发现了跟这个问题有关的论题&#xff0c;于是深入地查看了&#xff0c;感觉获益匪浅&a…