C# 数据类型的默认值


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Main : MonoBehaviour{
    private bool boolVal;
    private byte byteVal;
    private double doubleVal;
    private float floatVal;
    private int intVal;
    private long longVal;
    private short shortVal;
    private uint uintVal;
    private char charVal;
    private string stringVal;
    private Vector2 vector2Val;
    private Vector3 vector3Val;
    private Man classVal;
    private CustomData structVal;

    private bool? boolVal2;
    private float? floatVal2;
    private int? intVal2;
    private System.Nullable<int> intVal3;
    private Vector2? vector2Val2;
    private Vector2? vector2Val3=null;
    private CustomData? structVal2=null;

    private void Start() {
        Debug.LogFormat("boolVal:{0}",boolVal);//output:boolVal:False
        Debug.LogFormat("byteVal:{0}",byteVal);//output:byteVal:0
        Debug.LogFormat("doubleVal:{0}",doubleVal);//output:doubleVal:0
        Debug.LogFormat("floatVal:{0}",floatVal);//output:floatVal:0
        Debug.LogFormat("intVal:{0}",intVal);//output:intVal:0
        Debug.LogFormat("longVal:{0}",longVal);//output:longVal:0
        Debug.LogFormat("{0}",shortVal);//output:shortVal:0
        Debug.LogFormat("uintVal:{0}",uintVal);//output:uintVal:0
        Debug.LogFormat("charVal:{0},{1}",charVal,charVal=='\0');//output:charVal:
        if(charVal=='\0')Debug.Log("True");//output:True
        Debug.LogFormat("vector2Val:{0},{1}",vector2Val,vector2Val==Vector2.zero);//output:vector2Val:(0.0, 0.0),True
        Debug.LogFormat("vector3Val:{0},{1}",vector3Val,vector3Val==Vector3.zero);//output:vector3Val:(0.0, 0.0, 0.0),True
        Debug.LogFormat("classVal:{0},{1}",classVal,classVal==null);//output:classVal:,True
        Debug.LogFormat("structVal:{0}",structVal);//output:structVal:CustomData

        Debug.LogFormat("boolVal2:{0}",boolVal2==null);//output:boolVal2:True
        Debug.LogFormat("floatVal2:{0}",floatVal2==null);//output:floatVal2:True
        Debug.LogFormat("intVal2:{0}",intVal2==null);//output:intVal2:True
        Debug.LogFormat("intVal3:{0}",intVal3==null);//output:intVal3:True
        Debug.LogFormat("vector2Val2:{0}",vector2Val2==null);//output:vector2Val2:True
        Debug.LogFormat("vector2Val3:{0}",vector2Val3==null);//output:vector2Val3:True
        Debug.LogFormat("structVal2:{0}",structVal2==null);//output:structVal2:True
    }
}

public class Man{
    
}
public struct CustomData{
    public int ID;
}

//更多C#数据类型参考: https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/reference-tables-for-types
//默认值表:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/default-values-table

优质内容筛选与推荐>>
1、C++ Button右键弹出式菜单
2、工作3年半了,迷茫啊
3、数据库连接池
4、7、typescript - 泛型
5、硬盘分区


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号