当前位置: 首页 > news >正文

C# 数据类型与运算符(学习笔记2)

1. 变量

int i = 10;  
变量类型+空格+变量名称+空格+初始值。

2. 常量

    const double PI = 3.1415926;固定不变的值用常量表示,只能赋值一次。

3.基本数据类型

用C#编程有两套数据类型,一是C#语言自带的,二是.Net Framework提供的(CTS)。
这两套类型完全兼容,为了统一,建议使用其中的一套。
简称 .NET 类 类型 宽度 范围(位)
byte Byte 无符号整数 8 0 到 255
--- --- --- --- ---
sbyte SByte 有符号整数 8 -128 到 127
int Int32 有符号整数 32 -2,147,483,648 到 2,147,483,647
uint UInt32 无符号整数 32 0 到 4294967295
short Int16 有符号整数 16 -32,768 到 32,767
ushort UInt16 无符号整数 16 0 到 65535
long Int64 有符号整数 64 -922337203685477508 到 922337203685477507
ulong UInt64 无符号整数 64 0 到 18446744073709551615
float Single 单精度浮点型 32 -3.402823e38 至 3.402823e38
double Double 双精度浮点型 64 -1.79769313486232e308 至 1.79769313486232e308
char Char 单 Unicode 字符 16 文本中使用的 Unicode 符号
bool Boolean 逻辑布尔值类型 8 True 或 False
object Object 所有其他类型的基类型

C#的类型分为值类型和引用类型。

            float f1 = 0.1f; // 单精度要加f.double d1 = 0.2;byte b1 = 0b01101100;char c1 = 'c';

4.枚举

        enum Country{China=1,USA=2,Russion=3}

用于表示同一种类型的集合,在编程时更加友好。

5.结构

        struct Student{public string Name;public string Description;public int age;}

用于表示一个对象,定义后可以直接使用。

            Student s;s.age = 10;

结构可以嵌套:

      struct Student{public string Name;public string Description;public int age;struct Bookbag{public string brand;public string color;}}

6.数组

            int[] a = new int[6];// 一维数组int[] a1 = new int[2] { 1,2};  int[,] b = new int[6,6]; // 二维数组,6行6列int[,] b2 = new int[2, 2] { {11, 12}, { 21, 22 }  };
1. Average 平均值
2. Count 数组中元素的数量
3. Length 数组长度
4. LongCount 数组中Long类型的个数
5. Max 最大值
6. Min 最小值
7. Sum  求和
8. GetUpperBound 数组索引最大值
9. GetLowerBound 数组索引最小值
10. First 第一个
11. Last 最后一个

7.object

所有类型的基类,任何类型的值都可以传给object类型,但是object类型的值不可以给任意类型,需要转换。

            string s1 = "hello";object obj1 = s1; // 直接赋值(装箱)string s2 = (string)obj1;// 需要转换 (拆箱)

转换的过程比较消耗资源,和var不一样。

8.var

编译的时候确定数据类型,一旦确定后不能再更改,不消耗资源。

            var j1 = 10;var j2 = 20;int j3=j1 + j2;

9.一元运算符

    a++;a+=b;

10.二元运算符

    a=b+c;a=b*c;

11.三元运算符

d= a>0?b:c;

12.注释

        // 单行注释
        /*** 段注释*/
        /// <summary>///  XML格式的文档/// </summary>/// <param name="sender"></param>/// <param name="e"></param>

13.代码折叠

        #region/*** 段注释*/struct Student{public string Name;public string Description;public int age;struct Bookbag{public string brand;public string color;}}#endregion

14.变量作用域

字段 > 方法或事件中的变量 > 循环中变量

  • 类中字段
class Charpter2{public Charpter2(){}public string id { get; set; }public string name { get; set; }public string description { get; set; }}
  • 方法中变量
        public void Test(){int a=1; int b=2;int c = a + b;System.Windows.Forms.MessageBox.Show(c.ToString());}
  • 循环中变量
        public void Test2(){for (int i = 0; i < 10; i++){int c = i * i;}}

15.命名空间

对代码功能归类,有效解决类,方法,变量等重名的问题

namespace WindowsFormsApp1.charpter
{}
http://www.rkmt.cn/news/49885.html

相关文章:

  • 《移动开发:Flutter与React Native的对比》‌
  • 超参数调优:Grid Search 和 Random Search 的实战对比
  • 实用指南:26秋招三分钟快速背诵一个八股-Spring中Bean的生命周期
  • FreeSWITCH使用RNNoise进行实时通话降噪
  • Spring AI Alibaba 项目源码学习(六)-Agent Framework 工作原理与使用
  • 采用 OpenCASCADE 提取布尔运算后平面图形的外轮廓
  • 题解:AtCoder ARC209D A_A_i
  • Kotlin Coroutines
  • 我的标题
  • Java Benchmark使用
  • Go-秘籍-全-
  • Kotlin中的flow、stateflow、shareflow之间的区别和各自的功能 - 教程
  • 非离散网络流——P3347 [ZJOI2015] 醉熏熏的幻想乡
  • Dark Side of the Moon
  • 图片合集
  • 升幂引理(LTE)
  • OpenWrt路由的端口映射问题
  • 解码IPC-管道与信号
  • How-to-extract-text-from-PDF-Image-files-OCR-CarlZeng
  • 升鲜宝供应链管理系统、各端的访问地址及nginx 真实的配置方法
  • 2025.11.14模拟赛
  • uiautomator2元素查看器WEditor的安装和启动
  • MI50 在ubuntu 下 风扇控制实现
  • nvm不能下载安装低版本node解决办法
  • 完整教程:【实时Linux实战系列】实时 Linux 在边缘计算网关中的应用
  • 20251114——读后感5
  • 251114
  • 好题集 (4) - CF487E Tourists
  • Http基础协议和解析 - 指南
  • 2025年问题肌培训企业最新专业推测top5:技术创新与实战效能全面升级,做好皮肤管理,搞定皮肤亚健康、祛痘祛斑。