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

2024-01-10 07:04

本文主要是介绍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、10string 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教学就到此结束了,有任何错误和不足还望诸位指出,感谢大家的喜爱,喜欢本文的话,点赞收藏支持一下博主吧!

这篇关于AI教我学编程之C#入门程序详解与拓展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589958

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof