AI教我学编程之C#入门程序详解与拓展

与AI肩并肩

  • 前言
  • 一、一个简单的C#程序
    • 补充说明
    • 对话AI
  • 二、标识符
  • 三、关键字
  • 四、Main
  • 五、空白
      • 1. 缩进
      • 2. 代码块的间距
      • 3. 操作符的空格
      • 4. 换行
      • 5. 一致性
  • 六、语句
  • 七、从程序输出文本
      • 主题:从程序中输出文本
        • 1. Write 和 WriteLine 方法
        • 2. 格式字符串
        • 3. 多重标记和值
        • 4. 格式化数字字符串
      • 对给出的程序进行分析
      • 1. Write 和 WriteLine 方法
      • 2. 格式字符串
      • 3. 多重标记和值
      • 4. 格式化数字字符串
  • 八、注释
    • 1. 单行注释
    • 2. 多行注释
    • 3. 文档注释
      • 重要内容
      • 注释总结
    • 补充说明
      • 单行注释
      • 多行注释
    • 纠正
    • 由于chatgpt提供的快捷键适合于vs2019不适于vs2010,所以我重新编辑了要求如下
      • 单行注释
      • 取消单行注释
      • 多行注释
    • 再次修改
      • 多行注释
      • 最后通牒
  • 总结

前言

此前,通过AI辅助学习我们了解了C#关键字,变量的相关知识,这篇文章我们通过C#入门程序来学习其余的C#基础知识,并对此前学习的知识加以概括总结


本文将由ChartGPT辅助生成示例代码,让我们拭目以待

一、一个简单的C#程序

程序员

生成一个简单的C#程序

在这里插入图片描述

当然,请看下面的示例代码,这是一个简单的 C# 程序,它输出 “Hello, World!” 到控制台:

using System;

namespace MyNamespace
{
    class Program
    {
        static void Main()
        {
            // 输出文本到控制台
            Console.WriteLine("Hello, World!");
        }
    }
}

具体解释如下图
在这里插入图片描述

行号描述
1告诉编译器这个程序使用System命名空间里的类型
3声明一个新的命名空间:MyNamespace
新命名空间从第4行的左大括号开始到第12行与之对应的右大括号
在这部分里声明的任何类型都是该命名空间的成员
5声明一个新的类型Program
任何在第6~11行的两个大括号中间声明的成员都是组成这个类的成员
7Main是一个特殊函数,编译器用它作为程序的起始点
9这一行只有一个简单的语句以分号结束
这条语句使用命名空间System中的Console类将消息输出到屏幕窗口
没有第一行的using语句,编译器无法找到类Console

补充说明

C#程序由一个或多个类型声明组成。程序中的类型可以以任何顺序声明。在这段代码中,只声明了 class类型。
命名空间是与某个名称相关联的一组类型声明。这段代码使用了两个命名空间。它创建了一个名称为 MyNamespace 的新命名空间,并在其中声明了其类型(program类)还使用了 Systen命名空间中定义的 Console类。

对话AI

程序员

举出以多个类型声明组成的C#程序,程序中的类型可以以任何顺序声明

在这里插入图片描述

当在 C# 中声明多个类型时,它们可以按照不同的顺序进行声明。以下是一个示例程序,其中包含了三个类型的声明,它们的顺序是不同的:

using System;

// 类型声明顺序:1
class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, C#!");
    }
}

// 类型声明顺序:2
public class Car
{
    public string Model { get; set; }
    public int Year { get; set; }
}

// 类型声明顺序:3
struct Point
{
    public int X { get; set; }
    public int Y { get; set; }
}

在这里插入图片描述

在这个示例中,有一个名为 Program 的类,包含 Main() 方法作为程序的入口点。然后是一个名为 Car 的公共类和一个名为 Point 的结构体,它们的声明顺序是不同的。
这些类型声明的顺序不会影响编译程序运行。在 C# 中,类型声明的顺序不重要,编译器能够正确地处理这些类型声明,并且在运行时按需加载这些类型。

二、标识符

程序员

在这个程序中,有哪些标识符

在这里插入图片描述

在给出的简单程序中,标识符是用来命名变量方法等的名称。以下是程序中的标识符列表:

标识符释义
MyNamespace命名空间的名称,是一个标识符。
Program类的名称,也是一个标识符。
Main方法的名称,是程序的入口点,也是一个标识符。
argsMain 方法的参数名,是一个标识符。
Console表示 .NET Framework 中的控制台类,也是一个标识符。
WriteLine控制台类 Console 中的方法名,是一个标识符。

由此,我们知道了命名空间,类名,参数名,方法名都可以作为标识符

程序员

C#常用的标识符有哪些?

在这里插入图片描述

在 C# 中,标识符是用于命名变量、类、方法、命名空间等的名称。以下是一些常用的 C# 标识符以及它们的命名约定

标识符种类标识符作用举例
类和结构体组织数据和行为的模板或蓝图MyClass、Person、
customerData
接口定义类必须实现的行为规范IDisposable、IEnumerable
方法和函数执行特定操作或行为的代码块DoSomething()、calculateValue()
变量和字段用于存储数据的名称myVariable、someValue
属性用于访问对象状态并公开相应数据Name、age
命名空间用于组织和管理相关类的容器myNamespace、projectModule
常量在程序中保持不变值的标识符MAX_VALUE、PI
枚举一组命名的常量集合DaysOfWeek、Colors
事件在对象发生特定动作时触发的动作或通知buttonClicked、
dataReceived
参数传递给方法的值parameter、inputValue

要了解更多,请点击C# 标识符命名规则和约定

三、关键字

程序员

在这个程序中,有哪些关键字?

在这里插入图片描述

在给出的程序中,以下是C#中使用的关键字列表

关键字用途
namespace用于声明命名空间,用于组织和区分代码的作用域。
class用于声明一个类,是定义对象的模板或蓝图。
static用于声明静态成员,表示成员属于类而不是类的实例。
void表示方法不返回任何值。
string表示字符串数据类型。
using用于引入命名空间,简化代码中对类型和成员的访问。
Console表示控制台类,用于在控制台上进行输入和输出。
WriteLine控制台类的方法,用于在控制台上输出一行文本。
Main程序的入口点方法,其中程序开始执行。
argsMain方法的参数,用于接收命令行参数。

由于关键字数量较多,若需要了解更多关键字,请访问Microsoft官网

四、Main

程序员

作为C#初学者,需要对main方法有多少了解?

在这里插入图片描述

对于入门学习C#,了解 Main 方法是非常重要的,因为它是C#程序的入口点,程序从这里开始执行。

在C#中,每个应用程序都必须有一个 Main 方法作为程序的入口。这个方法必须是静态的(static),返回类型可以是 voidint。当程序启动时,操作系统加载程序并且开始执行,首先会在 Main 方法中开始执行代码。

Main 方法的基本结构如下:

class Program
{
    static void Main(string[] args)
    {
        // 在这里编写你的代码
    }
}
  • staticMain 方法必须是静态的,这表示它属于类而不是类的实例。
  • voidintMain 方法可以是 void 类型,表示不返回任何值,也可以是 int 类型,表示返回一个整数值作为程序的退出码。
  • Main 方法接受一个字符串数组作为参数 args,这个数组包含命令行传递给程序的参数。

Main 方法中,你可以编写程序的逻辑代码,进行各种操作,例如输入输出、调用方法、定义变量等。从 Main 方法开始,程序会按照你编写的逻辑顺序执行代码。

因此,对 Main 方法的理解对于编写和理解C#程序的结构和执行顺序非常重要。它是C#程序执行的起点,是入门学习C#编程语言的重要一步。

五、空白

程序员

C#新手对C#空白要了解多少?

在这里插入图片描述

对于 C# 的新手来说,了解以下关于空白(空格、制表符、换行符)的基本概念是很重要的:

  1. 空格

    • 在编程中,空格通常用于分隔不同的单词、操作符或语句,使代码更易读。
    • C# 中的空格是被忽略的,不会影响程序的逻辑,但它们有助于提高代码的可读性。
  2. 制表符

    • 制表符通常用于缩进代码块,以显示代码的结构。
    • 缩进是一种良好的编码习惯,有助于代码的可读性和理解。
  3. 换行符

    • 换行符用于结束一行代码,将代码分成多行以提高可读性。
    • 在C#中,分号 ; 通常用于表示语句的结束。因此,每个语句应该在一个新的行上结束。

虽然空白字符对代码的逻辑没有直接影响,但良好的空白使用习惯可以提高代码的可读性和维护性。一些编辑器和集成开发环境(IDE)会自动处理空格、制表符和换行符,但理解它们的作用有助于编写易读且易于维护的代码

初学者应该了解如何使用空白字符来格式化代码,以及如何结合良好的编码实践,使代码易于理解和维护

程序员

初学者该如何使用空白字符格式化代码?

在这里插入图片描述

在C#中,使用空白字符来格式化代码是一种良好的编码习惯,可以增强代码的可读性。初学者可以采用以下几种方法来格式化代码中的空白字符

1. 缩进

缩进是代码结构的重要部分,使代码块更易读。使用空格或制表符来缩进代码块。通常情况下,推荐使用空格作为缩进,例如每个缩进使用 2 到 4 个空格。

void MyMethod()
{
    if (condition)
    {
        // 两个空格的缩进
        statement;
    }
    else
    {
        // 四个空格的缩进
        anotherStatement;
    }
}

2. 代码块的间距

在不同的代码块之间使用空行来增加可读性。例如,在方法之间或逻辑上相关的代码块之间使用空行来分隔。

void Method1()
{
    // 方法体
}

// 空行

void Method2()
{
    // 方法体
}

3. 操作符的空格

在操作符前后添加空格可以增强代码的可读性,使代码更清晰。

int result = number1 + number2; // 在操作符前后添加空格

4. 换行

当一行代码太长时,适当地换行可以增强代码的可读性。例如,方法调用或逻辑表达式过长时,可以将其拆分成多行。

if (condition1 && 
    condition2 && 
    condition3)
{
    // 代码逻辑
}

5. 一致性

保持代码格式的一致性非常重要。团队内部应该约定好一种代码格式,并且保持一致性。

以上这些是初学者可以采用的一些方法,它们可以提高代码的可读性和可维护性。初学者应该根据个人喜好或团队的编码规范来选择最适合自己的格式化方式,并且保持一贯性。IDE(集成开发环境)通常也会提供自动格式化代码的功能,初学者可以利用这些功能来确保代码的一致性和规范性。

六、语句

程序员

这个程序中的语句在哪里?

在这里插入图片描述

在这个示例中,Main 方法内的语句是在花括号 {} 内部的 Console.WriteLine() 语句。这个语句负责向控制台输出一条消息。在C#中,语句通常以分号 ; 结尾,并在方法内执行特定的操作。

七、从程序输出文本

程序员

以“从程序中输出文本“为主题,“Write”,“WriteLine”,“格式字符串”,“多重标记和值”,“格式化数字字符串”,各为一小节,对这个程序进行分析

在这里插入图片描述

好的,让我逐个解释你提到的主题,并对给出的程序进行分析:

主题:从程序中输出文本

1. Write 和 WriteLine 方法
  • WriteWriteLine 是用于向控制台输出文本的方法。
  • Write 方法输出文本并保持光标在同一行。
  • WriteLine 方法输出文本并在末尾添加换行符,将光标移到下一行。
2. 格式字符串
  • 格式字符串允许你以指定的格式输出文本。在这个例子中,“Hello, World!” 是一个简单的格式字符串。
  • 格式字符串可以包含文本和占位符,用于插入变量或其他内容。
3. 多重标记和值
  • 可以使用多个标记和值来构建格式化的输出。这些标记可以是字符串中的占位符,对应输出的值会替换这些占位符。
  • 在示例中,“Hello, World!” 是一个固定的字符串,没有额外的标记和值。
4. 格式化数字字符串
  • 该程序中没有格式化数字字符串的部分,因为没有数字相关的处理或格式化。

对给出的程序进行分析

using System;

namespace MyNamespace
{
    class Program
    {
        static void Main()
        {
            // 输出文本到控制台
            Console.WriteLine("Hello, World!");
        }
    }
}

由于分析过程与上述分布介绍内容重复过多,故在此不做展示
且以上内容缺乏示例代码,故需要重新提出要求如下

程序员

1、Write 和 WriteLine 方法
列出同一段示例代码,用这两者分别输出来表示二者的不同
2、格式字符串
对”格式字符串可以包含文本和占位符,用于插入变量或其他内容“举出示例代码说明
3、多重标记和值
对第一点举出示例代码,并说明使用多重标记和值时我们应注意什么?
4、格式化数字字符串
说明什么是“格式化字符串”?
“格式化字符串”的应用场景?
“格式化字符串”有哪些格式?
以上三点在说明的同时与文本字符串做对比

在这里插入图片描述

1. Write 和 WriteLine 方法

使用 Write 方法和 WriteLine 方法输出同一段示例代码:

using System;

namespace MyNamespace
{
    class Program
    {
        static void Main()
        {
            // 使用 Write 方法
            Console.Write("Hello, ");
            Console.Write("World!");

            // 使用 WriteLine 方法
            Console.WriteLine("Hello, World!");
        }
    }
}
  • Write 方法输出 "Hello, " 和 “World!”,但两个文本之间没有换行,光标停留在同一行。
  • WriteLine 方法输出 “Hello, World!” 并在末尾添加换行符,将光标移到下一行。

2. 格式字符串

示例代码说明格式字符串可以包含文本和占位符,用于插入变量或其他内容:

using System;

namespace MyNamespace
{
    class Program
    {
        static void Main()
        {
            string name = "Alice";
            int age = 30;

            // 使用格式字符串
            Console.WriteLine("Name: {0}, Age: {1}", name, age);
        }
    }
}
  • Console.WriteLine 中的格式字符串 “Name: {0}, Age: {1}” 包含了两个占位符 {0}{1}
  • 在输出时,占位符 {0} 被变量 name 的值替换,占位符 {1} 被变量 age 的值替换。

3. 多重标记和值

在上面的示例中使用了多重标记和值:

using System;

namespace MyNamespace
{
    class Program
    {
        static void Main()
        {
            string name = "Alice";
            int age = 30;

            // 使用多重标记和值
            Console.WriteLine("Name: {0}, Age: {1}", name, age);
        }
    }
}

注意事项:

  • 使用多个标记和值时,要确保值的顺序与标记的顺序相对应,以便正确地插入到格式化字符串中。
  • 如果标记和值的数量不匹配,将会导致编译时或运行时的错误。

4. 格式化数字字符串

  • 格式化字符串指的是包含特定格式占位符的字符串,用于指导输出文本的格式化。在C#中,使用 {} 中的数字或命名占位符来格式化字符串。
  • 应用场景:格式化字符串可用于输出复杂的文本格式,如创建报表、显示日期时间等。
  • 格式:格式化字符串的格式可以包括数字、日期、货币、小数点等格式。

程序员

根据以上文本举出具体示例代码,如创建报表的示例代码

当涉及创建报表时,格式化字符串可以用于设置报表的不同部分,例如标题、数据行等。以下是一个简单的示例,演示如何使用格式化字符串创建报表:

假设有一个报表,包括标题、表头和数据行。我们将使用字符串的格式化功能来构建这个报表:

using System;

class Program
{
    static void Main()
    {
        // 报表标题
        string reportTitle = "Sales Report";

        // 表头
        string headerFormat = "{0,-15} {1,-10} {2,-10}"; // 每列宽度为 15、10、10

        string header = string.Format(headerFormat, "Product", "Quantity", "Revenue");
        string separator = new string('-', header.Length);

        // 数据行
        string dataFormat = "{0,-15} {1,-10} {2,-10:C}"; // 金额格式化为货币形式

        string[] products = { "Product A", "Product B", "Product C" };
        int[] quantities = { 100, 150, 80 };
        decimal[] revenues = { 5000.50m, 7500.75m, 4000.20m };

        Console.WriteLine(reportTitle);
        Console.WriteLine(separator);
        Console.WriteLine(header);
        Console.WriteLine(separator);

        for (int i = 0; i < products.Length; i++)
        {
            string dataRow = string.Format(dataFormat, products[i], quantities[i], revenues[i]);
            Console.WriteLine(dataRow);
        }
    }
}

这个示例创建了一个简单的销售报表。在此示例中,string.Format 方法用于将字符串格式化为所需的列宽和格式。{0,-15} 表示第一个占位符,宽度为 15 个字符,并左对齐数据。{1,-10} 表示第二个占位符,宽度为 10 个字符。

数据行中,使用了 C 标识符将金额格式化为货币形式,{2,-10:C} 中的 -10 指定了货币值的宽度为 10 个字符,并且左对齐。

通过将这些格式化的字符串应用于报表的各个部分,我们能够以一种有组织且易于阅读的方式呈现数据。

请注意,此示例是一个简化版本,实际报表可能需要更多的复杂性和格式化,具体格式取决于报表的需求和特定的数据类型。
与文本字符串对比:

  • 文本字符串是普通字符串,不包含特定的格式化标记,用于直接显示文本。
  • 格式化字符串用于控制输出内容的格式,允许我们以特定的格式输出数据。

八、注释

程序员

对C#注释展开描述

1. 单行注释

单行注释使用 // 符号,用于在代码中单独注释一行内容。

示例代码:

// 这是单行注释
int x = 10; // 这是单行注释,用于解释变量的初始化

重要内容:

  • 单行注释在 // 符号后面直到该行结束处为注释内容。
  • 用于提供对代码的解释、说明或临时禁用一行代码。

2. 多行注释

多行注释使用 /* */ 符号,用于注释多行或块状内容。

示例代码:

/*
这是
多行注释
*/
int y = 20; /*
这是多行注释,可以跨越多行,
也可以位于代码行内的任意位置
*/

重要内容:

  • 多行注释从 /* 开始,到 */ 结束,中间内容全部被注释掉。
  • 用于临时禁用多行代码块或提供详细的注释说明。

3. 文档注释

文档注释是一种特殊的注释,用于生成代码文档。

示例代码:

/// <summary>
/// 这是文档注释,用于注释类、方法、字段等成员。
/// </summary>
public class MyClass
{
    /// <summary>
    /// 这是一个方法的文档注释。
    /// </summary>
    /// <param name="x">参数 x 的说明。</param>
    /// <returns>返回值的说明。</returns>
    public int MyMethod(int x)
    {
        return x;
    }
}

重要内容

  • 文档注释以 /// 开头,用于对类、方法、字段等成员提供详细的描述。
  • 包含 <summary>, <param>, <returns> 等标签,用于生成代码文档,帮助其他开发者理解代码。

注释总结

  • 注释在代码中用于解释、说明和文档化代码的作用和意图。
  • 单行注释 // 用于单独一行或一行代码的解释。
  • 多行注释 /* */ 用于多行或块状内容的注释。
  • 文档注释 /// 用于生成代码文档,提供对类、方法、参数等的详细描述。

补充说明

程序员

补充vs2010中注释的快捷键

在这里插入图片描述

当涉及到VS2010中注释的快捷键时,以下是对应功能的常用快捷键:

单行注释

  • 添加单行注释:选中要注释的代码行,使用快捷键 Ctrl + /

多行注释

  • 添加多行注释:选中要注释的代码块,使用快捷键 Ctrl + Shift + /

纠正

程序员

纠正:
在vs2010中,添加单行/多行注释,选中要注释的内容,单击“/” 即可
也可使用快捷键ctrl+E,ctrl+C实现对任意选中行注释
在vs2010/2019中,(ctrl+K,ctrl+C)或者(ctrl+E,ctrl+C)都可实现多行注释

由于chatgpt提供的快捷键适合于vs2019不适于vs2010,所以我重新编辑了要求如下

程序员

补充vs2010在编写C#代码时注释的快捷键

在这里插入图片描述

在Visual Studio 2010中,编写C#代码时的注释快捷键如下:

单行注释

  • 添加单行注释:选中要注释的代码行,使用快捷键 Ctrl + K, Ctrl + C

取消单行注释

  • 取消单行注释:选中已注释的代码行,使用快捷键 Ctrl + K, Ctrl + U

多行注释

  • 添加多行注释:选中要注释的代码块,使用快捷键 Ctrl + Shift + /

这些快捷键可帮助在Visual Studio 2010中更轻松地添加或取消单行或多行注释,提高代码的可读性和注释的管理效率。

我们看到,ChatGPT也不是一定正确

再次修改

程序员

补充vs2010在编写C#代码时注释的快捷键,包含单行注释,多行注释,文档注释,且你上一段回复“添加多行注释”的快捷键并不生效。

在这里插入图片描述

在 Visual Studio 2010 中,编写 C# 代码时的注释快捷键如下:

上文相同略去

多行注释

  • 添加多行注释:选中要注释的代码块,使用快捷键 Ctrl + Shift + /。此快捷键是在 Edit -> Advanced -> Insert Comment 或者 Edit -> Advanced -> Remove Comment 下,选择 Ctrl + Shift + / 添加多行注释或者移除多行注释的。
    ···

最后通牒

程序员

在Edit -> Advanced -> Insert Comment目录下,并未找到可以设置多行注释的功能

在这里插入图片描述

在 Visual Studio 2010 中,关于多行注释的快捷键或选项可能会因版本或设置而有所不同。在某些较早的版本中,没有专门的快捷键来添加或删除多行注释。通常情况下,多行注释需要手动输入 /* */ 来完成。

对于 Visual Studio 2010 及早期版本,可能无法直接使用特定的快捷键来添加多行注释或取消多行注释。若需要添加多行注释,可以手动输入 /* 来开始注释,输入 */ 来结束注释。同时,也可以使用单行注释 // 来一行一行地注释代码。

如果您在 Visual Studio 2010 中未找到特定的快捷键或选项用于多行注释,请尝试手动输入 /* */ 或使用单行注释来进行相应的代码注释。


总结

ChatGPT只是一个程序,它无法真正的思考或感知。ChatGPT产生的任何回复,都只是根据数据进行的预测,并不意味着它理解话题,所以,与ChatGPT交谈时要理性判断其回复。

今天的AI教学就到此结束了,有任何错误和不足还望诸位指出,感谢大家的喜爱,喜欢本文的话,点赞收藏支持一下博主吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/307276.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony之hdc

OpenHarmony之hdc 简介 hdc&#xff08;OpenHarmony Device Connector&#xff09;是 OpenHarmony 为开发人员提供的用于调试的命令行工具&#xff0c;通过该工具可以在Windows/Linux/MacOS等系统上与开发机或者模拟器进行交互。 类似于Android的adb&#xff0c;和adb类似&a…

买卖股票,会产生这些费用,你知道吗?

8月27日&#xff0c;财政部、税务总局发布公告&#xff0c;为活跃资本市场、提振投资者信心&#xff0c;自2023年8月28日起&#xff0c;证券交易印花税实施减半征收。 不少网友看到新闻后&#xff0c;摩拳擦掌、就等开盘。但在一条写到“这算是近期少有的重大短期利好&#xf…

007-可调脉冲数触发之FPGA实现(Zynq也可驱动,带启动停止及完成中断输出)

文章目录 前言一、设计思路二、代码及仿真1.资源消耗2.具体代码3.仿真波形 总结 前言 此代码是在做显微镜高速聚焦系统中自己写的步进电机电机驱动源码&#xff0c;为了达到最快的驱动速度&#xff0c;因此选用脉冲触发方式进行驱动。在电机驱动的过程中往往需要对脉冲进行使能…

开源分布式任务调度系统DolphinScheduler本地部署与远程访问

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…

two-stream HANet

作者未提供代码

全光谱照明灯真的护眼吗?适合考公使用的全光谱台灯

全光谱护眼台灯是一种新型的台灯产品&#xff0c;其特点是能够提供全光谱照明&#xff0c;给用户带来更好的视觉体验和护眼效果。传统的台灯大多使用白炽灯或荧光灯作为光源&#xff0c;这种光源在光谱中只包含有限的波长&#xff0c;导致照明效果不够均匀&#xff0c;容易产生…

VSCode C/C++(gdb)调试指南

1、安装插件 2、F5开启调试 左侧侧边栏->确保打开回调栈 右键函数栈->查看反汇编 3、打印寄存器、函数反汇编等 命令&#xff1a; 查看main反汇编 -exec disassemble /m main 查看寄存器 -exec info r 打印某个变量 -exec print s 或者 --s 打印寄存器&#xff0c;如p…

人大金仓恒生电子助力湘财证券TA系统国产化升级

近日&#xff0c;人大金仓&恒生电子助力湘财证券TA&#xff08;登记过户&#xff09;系统国产化升级上线&#xff0c;系统在性能、稳定性、安全可靠性等方面均表现良好。自2022年至今&#xff0c;在金仓数据库的支撑下&#xff0c;湘财证券已完成TA及其他近30个系统的升级或…

社交距离 - 华为OD统一考试

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C++ 题目描述 疫情期间,需要大家保证一定的社交距离,公司组织开交流会议,座位有一排共N个座位,编号分别为[0…N-1],要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。 满足:每当一个员工进入时,…

Nginx实战 | 高性能HTTP和反向代理神器Nginx前世今生,以及它的“繁花之境”

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

翻页插件的bug不能被忽视

文章目录 概要翻页插件的构成&#xff1a;具体功能如下&#xff1a;简单设计的测试用例测试出来的bug如下&#xff1a;小结 概要 近几年测试过不少WEB管理平台类的项目&#xff0c;系统中只要有列表管理的模块&#xff0c;就免不了要引入翻页插件 。 但是基本上每一个项目涉及…

前端面试题集合四(html)

HTML 面试知识点总结 本部分主要是笔者在复习 HTML 相关知识和一些相关面试题时所做的笔记&#xff0c;如果出现错误&#xff0c;希望大家指出&#xff01; 目录 1. DOCTYPE 的作用是什么&#xff1f;2. 标准模式与兼容模式各有什么区别&#xff1f;3. HTML5 为什么只需要写…

PyTorch: torch.nn 子模块及其在循环神经网络中的应用

目录 torch.nn子模块详解 nn.utils.rnn.PackedSequence 参数说明 注意事项 示例代码 nn.utils.rnn.pack_padded_sequence 参数说明 返回值 注意事项 示例代码 nn.utils.rnn.pad_packed_sequence 参数说明 返回值 注意事项 示例代码 nn.utils.rnn.pad_sequence …

vue-vben-admin 与.net core 结合实例 【自学与教学 小白教程】---第4节---部门管理

ue-vben-admin 与.net core 结合实例 这里计划使用.net core 作为后端 。目标&#xff1a;打造好看 易用 开箱即用 的netcore一体化框架。Vue Vben Admin For NetCore 取命 hcrain-vvadmin 我不是前端人员 但有时开发还是要写一些界面。 之前使用layui是时候 狠心升级下了。 …

Parallel patterns: convolution —— An introduction to stencil computation

在接下来的几章中&#xff0c;我们将讨论一组重要的并行计算模式。这些模式是许多并行应用中出现的广泛并行算法的基础。我们将从卷积开始&#xff0c;这是一种流行的阵列操作&#xff0c;以各种形式用于信号处理、数字记录、图像处理、视频处理和计算机视觉。在这些应用领域&a…

win10在启动游戏时报错,提示“d3dx9_25.dll文件丢失”,怎么办?d3dx9_25.dll丢失如何自动修复

一、d3dx9_25.dll文件是什么&#xff1f; d3dx9_25.dll是DirectX的一部分&#xff0c;DirectX是一种由微软开发的专门处理与多媒体、游戏程序和视频相关的应用程序接口。d3dx9_25.dll文件是DirectX9中一个重要的dll文件&#xff0c;主要负责处理3D图形程序&#xff0c;作用是帮…

Node.js和npm

目录 01_Node.js01.什么是 Node.js目标讲解小结 02.fs模块-读写文件目标讲解小结 03.path模块-路径处理目标讲解小结 04.案例-压缩前端html目标讲解小结 05.认识URL中的端口号目标讲解小结 06.http模块-创建Web服务目标讲解小结 07.案例-浏览时钟目标讲解小结 02_Node.js模块化…

故事生成动漫解说视频,用Artflow AI做英语口语故事

大家好我是在看&#xff0c;记录普通人学习探索AI之路。 今天&#xff0c;我将再次为大家精心策划一个使用Artflow AI制作动漫解说视频的详尽教程&#xff0c;这个教程专为初学者设计。通过这款强大的Artflow AI工具&#xff0c;用户能够一键自动化完成从图像生成、视频剪辑到配…

CST2024的License服务成功启动,仍报错——“The desired daemon is down...”,适用于任何版本!基础设置遗漏!

CST2024的License服务成功启动&#xff0c;仍报错——“The desired daemon is down…”&#xff0c;适用于任何版本&#xff01;基础设置遗漏&#xff01; CST2024的License服务成功启动后报错 若不能成功启动License服务&#xff0c;有可能是你的计算机名称带中文&#xff…

牛刀小试 - C++ 实现2048(可存档)

参考文档 借助了这位大佬的开发思路&#xff0c; 开发过程中学到了很多 C语言实现《2048游戏》 技术点&#xff1a; system调整控制台大小的问题 unsigned and 符号位 C对齐输出&#xff08;左对齐和右对齐&#xff09; C goto语句详解 完整代码 /********************…