zoukankan      html  css  js  c++  java
  • C#筆記00--最基礎的知識

    由于本人拥有C/C++的基础,所以在學習C#的時候還是比較快的,在最基礎的東西之中我只會記錄那些與C/C++不同的地方,或者個人認爲比較重要的地方。

    0. 數據類型:

    C#中的數據類型與C++沒有太多的差異,具體情況如下表格。其中比較重要的是需要對decimal有一個印象,你可以理解為一個精度更高的double類型。

    类型描述范围默认值
    bool 布尔值 True 或 False False
    byte 8 位无符号整数 0 到 255 0
    char 16 位 Unicode 字符 U +0000 到 U +ffff ''
    decimal 128 位精确的十进制值,28-29 有效位数 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M
    double 64 位双精度浮点型 (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 0.0D
    float 32 位单精度浮点型 -3.4 x 1038 到 + 3.4 x 1038 0.0F
    int 32 位有符号整数类型 -2,147,483,648 到 2,147,483,647 0
    long 64 位有符号整数类型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L
    sbyte 8 位有符号整数类型 -128 到 127 0
    short 16 位有符号整数类型 -32,768 到 32,767 0
    uint 32 位无符号整数类型 0 到 4,294,967,295 0
    ulong 64 位无符号整数类型 0 到 18,446,744,073,709,551,615 0
    ushort 16 位无符号整数类型 0 到 65,535 0

    1. 顯式類型轉換:

    對於隱式的類型轉換大家都知道,所以不做特殊説明。而一般的類型强轉與C++相同,只需要在需要轉換的變量前面使用括號加上需要轉換的結果數據類型。例如把一個double墻磚為int:

    double n = 100.1;
    int m = (int)n;

    但是除了這樣的方式還有其他的數據類型轉換方式:

    ToBoolean

    如果可能的话,把类型转换为布尔型

    ToByte

    把类型转换为字节类型

    ToChar

    如果可能的话,把类型转换为单个 Unicode 字符类型。

    ToDateTime

    把类型(整数或字符串类型)转换为 日期-时间 结构

    ToDecimal

    把浮点型或整数类型转换为十进制类型。

    ToDouble

    把类型转换为双精度浮点型。

    ToInt16

    把类型转换为 16 位整数类型。

    ToInt32

    把类型转换为 32 位整数类型。

    ToInt64

    把类型转换为 64 位整数类型。

    ToSbyte

    把类型转换为有符号字节类型。

    ToSingle

    把类型转换为小浮点数类型。

    ToString

    把类型转换为字符串类型。

    ToType

    把类型转换为指定类型。

    ToUInt16

    把类型转换为 16 位无符号整数类型。

    ToUInt32

    把类型转换为 32 位无符号整数类型。

    ToUInt64

    把类型转换为 64 位无符号整数类型。

    補充一點:

      使用上述類型轉換的前提是需要能夠轉換,比如double和int都是數值之間的轉換,最多也就是損失一下精度而已,可是如果你想把字符串轉化成數值類型呢?你要知道"123"和123是完全不同的,這時候你使用强制類型轉換必然出錯,你説我們可以使用第二個表格中的轉換函數啊,是這樣的。可是如果這個字符串是“123abc”呢?這時候程序就會給你抛出一個異常,因爲這個字符串不僅僅包含數字,同時包含其他的字母,這時候可以使用as關鍵字進行類型轉換,這時即便轉換失敗也不會抛出異常。

      可能你會説就爲了這個?當然不是,因爲as除了對基本數據類型的轉換還可以轉換引用數據類型,比如把一個Student類的對象轉換為Teacher類對象,儘管有可能失敗,但是不會抛異常。

    2. 關於循環和分支: 

    C#的if, if/else, while, do/while, for都與C++沒有差異,同時c#也支持foreach語句。

    3. 修飾符:

    相對於C++中的修飾符,c#多了後面兩個intemal和protected intemal

    • public:所有对象都可以访问;
    • private:对象本身在对象内部可以访问;
    • protected:只有该类对象及其子类对象可以访问
    • internal:同一个程序集的对象可以访问;
    • protected internal:访问限于当前程序集或派生自包含类的类型。
  • 相关阅读:
    信号量的实现
    锁的实现
    Do PDB Files Affect Performance?
    分布式系统一致性算法(Raft)
    idea开发工具破解地址
    IOS设备上传图片,使用ImageIO.write 图片翻转纠正(JAVA)
    使用WebSocket进行消息推送(附代码)
    SpringCloud构建微服务 | 服务注册与发现(一)提供Demo
    @slf4j注解找不到log变量-已解决
    springBoot事务无法回滚 MyISAM与InnoDB区别
  • 原文地址:https://www.cnblogs.com/ltozvxe/p/12515907.html
Copyright © 2011-2022 走看看