C#在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
C# timer测试 发布于:2024-05-06 20:07 QFrameWork学习 发布于:2024-04-22 10:11 Shader 讲解 发布于:2024-04-16 13:09 csharp文本AES解密 发布于:2024-03-23 08:52 初始化单链表 单链表的取值方法 单链表的查找方法 单链表的插入方法 单链表的删除方法 使用主函数调用以测试以上函数 发布于:2024-03-20 19:07 曲线lerp 发布于:2024-03-16 14:31 用于创建跟随相机 发布于:2024-03-16 14:22 次表面散射代码 发布于:2024-03-09 17:32 Unity 根据Excel生成C#脚本 发布于:2024-02-17 16:45 Test the "Value and Reference" program 发布于:2024-02-12 11:12 测试枚举类型 发布于:2024-02-08 17:29 获取用户名 发布于:2024-02-06 10:24 # 自定义委托 委托也是一种类,所以声明时与其它类是平级的。 ``` public delegate double Calc(double x, double y); public class HelloWorld { public static void Main() { } } ``` delegate 告诉编译器正在声明委托,double 表示目标方法的返回值类型,圆括号里是目标方法的参数列表。 委托于所封装的方法必须类型兼容。 发布于:2024-02-05 20:59 # Action委托和Func委托 Action委托只能委托没有返回值的方法。 Func委托则没有限制。 Func<参数类型,参数类型,...,返回值类型> func = new Func<参数类型,参数类型,...,返回值类型>(需要委托的函数); 委托的函数的参数类型和返回值类型,需要和Func<>中声明的相同。 发布于:2024-02-05 20:45 判断time赋值(百度c#吧某问题代码) 发布于:2024-01-30 15:38 测试js 生成hmac算法 发布于:2024-01-26 17:28 系统化untiy学习 发布于:2024-02-28 11:28 hmac 代码执行 发布于:2024-01-26 18:34 顺序查找法 发布于:2024-01-19 19:31 unity项目笔记 发布于:2024-01-22 13:27 简单的Func数据封装 发布于:2024-01-14 13:41 抽奖注册器 发布于:2023-12-28 16:48 测试功能xin 发布于:2023-12-25 20:41 C#初学-学习代码语法 发布于:2023-12-14 17:46 unity 面试 发布于:2024-01-23 17:14 基数排序的设计 发布于:2023-12-12 22:43 散列表避免重复投票 发布于:2023-12-12 00:01 基数排序算法 发布于:2023-12-11 23:40 判断闰年月份 发布于:2023-12-08 17:29 #include <iostream> #include <chrono> #include <thread> int main() { std::cout << "延迟输出前的消息" << std::endl; // 设置延迟时间为3秒 std::chrono::seconds delay(3); // 让线程睡眠3秒 std::this_thread::sleep_for(delay); std::cout << "延迟输出后的消息" << std::endl; return 0; } 发布于:2023-12-07 10:45 计数排序算法 发布于:2023-12-04 00:08 堆排序算法 发布于:2023-11-28 00:14 快速排序算法 发布于:2023-11-13 22:21 归并排序逆序对 发布于:2023-11-06 15:39 归并排序算法 发布于:2023-11-06 14:07 计算日期间隔 发布于:2023-11-01 16:07 二维数组旋转 发布于:2023-10-30 11:30 C# 事件何存 发布于:2023-10-29 08:22 C#控制台模拟器 发布于:2023-10-23 09:22 九九乘法表 发布于:2023-10-17 22:11 折半查找方法 发布于:2023-10-15 14:08 插入排序算法 发布于:2023-10-15 10:14 折半查找算法 发布于:2023-10-15 10:12 插入排序法 发布于:2023-10-10 16:49 这是好的的一段学习程序 发布于:2023-10-11 22:13 IEnumerator 接口learn 发布于:2023-10-07 19:18 背包问题算法 发布于:2023-10-06 15:52 蛮力匹配字符串算法 发布于:2023-10-06 15:45 一、匹配字符串问题代码实现 发布于:2023-10-05 13:16 c#多线程学习 发布于:2023-10-04 18:32 [更多]
显示目录

结构(Struct)



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

C# 结构(Struct)

在 C# 中,结构是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构。

结构是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:

  • Title
  • Author
  • Subject
  • Book ID

定义结构

为了定义一个结构,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。

例如,您可以按照如下的方式声明 Book 结构:

struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
};

下面的程序演示了结构的用法:

using System;

struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
};  

public class testStructure
{
   public static void Main(string[] args) {

      Books Book1;        /* 声明 Book1,类型为 Book */
      Books Book2;        /* 声明 Book2,类型为 Book */

      /* book 1 详述 */
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali"; 
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6495407;

      /* book 2 详述 */
      Book2.title = "Telecom Billing";
      Book2.author = "Zara Ali";
      Book2.subject =  "Telecom Billing Tutorial";
      Book2.book_id = 6495700;

      /* 打印 Book1 信息 */
      Console.WriteLine( "Book 1 title : {0}", Book1.title);
      Console.WriteLine("Book 1 author : {0}", Book1.author);
      Console.WriteLine("Book 1 subject : {0}", Book1.subject);
      Console.WriteLine("Book 1 book_id :{0}", Book1.book_id);

      /* 打印 Book2 信息 */
      Console.WriteLine("Book 2 title : {0}", Book2.title);
      Console.WriteLine("Book 2 author : {0}", Book2.author);
      Console.WriteLine("Book 2 subject : {0}", Book2.subject);
      Console.WriteLine("Book 2 book_id : {0}", Book2.book_id);       

      Console.ReadKey();

   }
}

当上面的代码被编译和执行时,它会产生下列结果:

Book 1 title : C Programming
Book 1 author : Nuha Ali
Book 1 subject : C Programming Tutorial
Book 1 book_id : 6495407
Book 2 title : Telecom Billing
Book 2 author : Zara Ali
Book 2 subject : Telecom Billing Tutorial
Book 2 book_id : 6495700

C# 结构的特点

您已经用了一个简单的名为 Books 的结构。在 C# 中的结构与传统的 C 或 C++ 中的结构不同。C# 中的结构有以下特点:

  • 结构可带有方法、字段、索引、属性、运算符方法和事件。
  • 结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,且不能被改变。
  • 与类不同,结构不能继承其他的结构或类。
  • 结构不能作为其他结构或类的基础结构。
  • 结构可实现一个或多个接口。
  • 结构成员不能指定为 abstract、virtual 或 protected。
  • 当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
  • 如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。

类 vs 结构

类和结构有以下几个基本的不同点:

  • 类是引用类型,结构是值类型。
  • 结构不支持继承。
  • 结构不能声明默认的构造函数。

针对上述讨论,让我们重写前面的实例:

using System;

struct Books
{
   private string title;
   private string author;
   private string subject;
   private int book_id;
   public void getValues(string t, string a, string s, int id) {
      title = t;
      author = a;
      subject = s;
      book_id = id;
   }
   public void display() {
      Console.WriteLine("Title : {0}", title);
      Console.WriteLine("Author : {0}", author);
      Console.WriteLine("Subject : {0}", subject);
      Console.WriteLine("Book_id :{0}", book_id);
   }

};  

public class testStructure
{
   public static void Main(string[] args) {

      Books Book1 = new Books(); /* 声明 Book1,类型为 Book */
      Books Book2 = new Books(); /* 声明 Book2,类型为 Book */

      /* book 1 详述 */
      Book1.getValues("C Programming",
      "Nuha Ali", "C Programming Tutorial",6495407);

      /* book 2 详述 */
      Book2.getValues("Telecom Billing",
      "Zara Ali", "Telecom Billing Tutorial", 6495700);

      /* 打印 Book1 信息 */
      Book1.display();

      /* 打印 Book2 信息 */
      Book2.display(); 

      Console.ReadKey();

   }
}

当上面的代码被编译和执行时,它会产生下列结果:

Title : C Programming
Author : Nuha Ali
Subject : C Programming Tutorial
Book_id : 6495407
Title : Telecom Billing
Author : Zara Ali
Subject : Telecom Billing Tutorial
Book_id : 6495700
由JSRUN为你提供的C#在线运行、在线编译工具
        JSRUN提供的C# 在线运行,C# 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout