zoukankan      html  css  js  c++  java
  • .NET基础

     .NET C# ASP.NET关系:.NET是一个平台,提供程序运行的虚拟机环境和类库。

    C#是.Net平台上的一种语言,其他语言还有VB.NET PowerShell等。

    ASP.NET是在.NET下的网站开发技术。

    安装.NET FrameWork就可以运行。VS集成安装了.NET FrameWork.

    控制台程序 Windows窗口程序(WPF/WinForms)网站程序 ASP.NET 手机程序(Xarmarin Windows phone)

    快捷键:

    设置文档格式(编辑-》高级-》设置文档格式) 

    开始调试F5

    解决方案和项目 sln csproj

    Debug Release(Debug运行效率低,包含调试信息 Release生成的程序小,调试麻烦) 

    Console.Beep(int,int)让计算机发出蜂鸣声。 第一个参数是频率,第二个参数是时间。

    Consol.SetCursorPosition(int x,int y)设置光标位置,横向x不超过79.

    Console.BackgroundColor=ConsoleColor.Red;

    Console.ForegroundColor=ConsoleColor.Blue; 

    Console.ResetColor();恢复默认设置

     反编译工具ILSpy 注释没有,因为注释信息没在exe文件中。不可能完全还原。只能反编译.NET程序。

    如何避免反编译:混淆器,没太大研究价值。因为主要做web程序,是放在服务器上的,普通用户是拿不到程序的。

     string是关键字,但是String不是关键字。Main也不是关键字。

     标识符是给类,方法,变量用的。类、方法首字母大写。变量首字母小写,驼峰命名法。createMenuItem

     局部变量使用前必须赋值。

    选择数据类型的时候在考虑数据的范围之后,选择最小范围的类型 ,可以节省资源。

    隐式类型转换和强制类型转换

    float f=3.14//报错,3.14是Double类型,需要指定为float f=3.14F

    doublue d=3.14/3.14D/5都可以。 

    也是字符。

    console.writeline(@"C: est.txt");

     i.ToString();

    Convert.ToString(i);推荐,为null时不会抛出异常。

    C#中是不允许用new操作符创建String对象的,编译器会报错。

    Equals有三个版本:   

    public   override   bool   Equals(object);   
    public   bool   Equals(string);   
    public   static   bool   Equals(string,   string); 

      前两个实例方法内部会调用CompareOrdinal静态方法,它会字符串中的各个字符,如果相等就返回true。第三个首先会检查两个引用指向的是否是同一个对象,如果是,就返回true,不再去比较各个字符了。
    其实CLR使用了一种叫字符串驻留的技术,对于
    string   str1="abc";
    string   str2="abc";
    当CLR初始化时,会创建一个内部的散列表,其中的键为字符串,值为指向托管堆中字符串的引用。刚开始,散列表为空,JIT编译器编译方法时,会在散列表中查找每一个文本常量字符串,首先会查找"abc"字符串,并且因为没有找到,编译器会在托管堆中构造一个新的指向"abc"的String对象引用,然后将"abc"字符串和指向该对象的引用添加到散列表中。
    接着,在散列表中查找第二个"abc",这一次由于找到了该字符串,所以编译器不会执行任何操作,代码中再没有其它的文本常量字符串,编译器的任务完成,代码开始执行。执行时,CLR发现第一个语句需要一个"abc"字符串引用,于是,CLR会在内部的散列表中查找"abc",并且会找到,这样指向先前创建的String对象的引用就被保存在变量s1中,执行第二条语句时,CLR会再一次在散列表中查找"abc",并且仍然会找到,指向同一个String对象的引用会被保存在变量s2中,到此s1和s2指向了同一个引用,所以System.Object.Equals(s1,s2)就会返回true了。

      Console.Write(5 + 5 + "hello" + (4+4)); 

     算术>关系>逻辑>赋值

  • 相关阅读:
    numpy函数:[6]arange()详解
    python中的list和array的不同之处
    python 矩阵转置transpose
    PowerDesigner(一)-PowerDesigner概述(系统分析与建模)
    MDX中Filter 与Exist的区别
    SQL Server 2016 —— 聚集列存储索引的功能增强
    SQL Server 2016:内存列存储索引
    PXE
    setjmp
    skb head/data/tail/end/介绍
  • 原文地址:https://www.cnblogs.com/wzf-Learning/p/6693015.html
Copyright © 2011-2022 走看看