趣玩AI之AI教我学编程

欢迎来到编程导师小A的教学课堂

AI教我学编程这一系列中,我将为您展示,如何使用AI助力我们学习C#编程

课程宗旨

本系列旨在通过与AI的沟通实现在学习C#编程的同时,提升我们的表达能力,进而提升我们的人际沟通能力,具体一点说,我们在与人沟通过程中,常常会遇到词不达意的情况,这并非我们不知道要表达什么意思,而是我们不清楚什么样的词,才能够清楚表达我们的意思。但在我们与AI助手沟通的过程中,我们会逐渐明白,怎么表达才能得到我们真正想要知道的

上节回顾


在“ C#初学者项目代码看不懂怎么办?”这篇文章中,我为大家介绍了如何使用AI辅助我们看项目代码,这对于没有项目代码又想了解C#编程的同学,毫无疑问是不公平的,那么有没有一种让不了解编程的同学既能感受AI的魅力,又能学习C#编程的方法呢?答案将在下文揭晓

对话AI

程序员

从现在开始,你的身份是C#编程导师,你的任务是帮助想要了解C#变成的同学尽快入门!

A:好的,我很高兴能帮助你入门C#编程。首先,让我们从最基本的开始:

C#是什么?
C#(读作“C Sharp”)是一种面向对象的、类型安全的编程语言,由微软公司在.NET框架的开发中设计并推出。它广泛应用于Windows应用程序、游戏开发(特别是使用Unity游戏引擎的游戏)和Web服务。

如何安装C#编译器?
你可以从微软的官方网站下载并安装免费的。NET SDK,它包含了C#编译器和其他开发工具。

你的第一个C#程序
让我们从最基础的"Hello, World!"程序开始。在控制台应用程序中,你可以使用以下代码:
using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, World!");
    }
}
这段代码的含义是:引入System命名空间,定义一个名为Program的类,在这个类中定义一个Main方法,这是所有C#程序的入口点。在Main方法中,我们使用Console.WriteLine方法打印出"Hello, World!"
C#的基本语法
变量:在C#中,你可以声明一个变量来存储数据。例如,int a = 10;这行代码声明了一个名为a的整数变量,并将其值设置为10。
数据类型:C#有多种数据类型,包括整数(int)、浮点数(float)、字符(char)等。
控制结构:C#提供了if-else条件语句、forwhile循环等控制结构。
函数:你可以定义自己的函数来执行特定的任务。例如,void MyFunction() { /* code */ }定义了一个没有返回值的函数。

程序员

小A,请你讲讲C#程序中有哪些标识符?他们分别有什么作用?我们在使用它们时应该注意什么?

A:在C#程序中,标识符是用来识别变量、方法、类等对象的名称。它们具有以下几种类型:
1、变量标识符:用于声明和引用变量的名称。例如,int age; 这里的age就是一个变量标识符。
2、方法标识符:用于定义和调用方法的名称。例如,void PrintHello() { Console.WriteLine("Hello"); } 这里的PrintHello就是一个方法标识符。
3、类标识符:用于定义一个类的名称。例如,public class Person { /* ... */ } 这里的Person就是一个类标识符。
4、参数标识符:用于表示传递给方法的参数的名称。例如,void Add(int a, int b) { /* ... */ } 这里的ab就是参数标识符。
5、数组标识符:用于表示数组的名称。例如,int[] numbers; 这里的numbers就是一个数组标识符。

在使用这些标识符时,需要注意以下几点:
1、标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。例如,count_value1是有效的标识符,而1count、value-1是不合法的标识符。
2C#对标识符是区分大小写的,即变量名"myVariable""myvariable"被视为不同的标识符。
3、不要使用C#中的保留字作为标识符,如ifelsewhile等。这些保留字具有特殊的含义和功能,不能用作标识符。
4、尽量选择有意义且描述性的标识符名称,以提高代码的可读性和可维护性。避免使用单个字母作为变量名,除非它具有明确的含义(如ij)。
5、在命名时应遵循一定的命名规范和风格,以保持代码的一致性和易读性。可以使用驼峰命名法(camelCase)或下划线分隔命名法(snake_case)来组织标识符的名称。

补充说明:若需要转义关键字,@符号必须放在最前面

程序员

小A,你说不要使用C#中的保留字作为标识符,那你说说C#中都有哪些保留字?

C#编程语言中,保留字是预留的关键字,具有特殊的含义和功能,因此不能被用作标识符。以下是C#中的一些保留字:
1、类:用于定义一个新的类型,如classinterface2、结构:用于定义一个值类型,如struct3、委托:用于定义一个类型安全的方法组,如delegate4、枚举:用于定义一个特殊的数据类型,包含了一组命名的数值常量,如enum5、接口:用于定义一种契约,规定了实现此接口的类或结构必须提供哪些成员,如interface6、属性:用于定义类的字段,并提供对字段的安全访问,如property7、索引器:用于使类或结构的实例能够像数组一样通过索引访问其元素,如this[int index]8、事件:用于通知订阅了特定事件的类或对象,如event9、异常:用于处理运行时的错误情况,如trycatchfinally等。
10、运算符:包括所有的算术运算符、比较运算符、逻辑运算符等,如publicprivateprotected等。

程序员

小A,在C#“类”中,除了classinterface之外,请你将C#“类”的其余的保留字也例举出来

除了classinterface之外,C#“类”的其余保留字包括:

1struct:用于定义一个值类型。
2delegate:用于定义一个委托类型。
3enum:用于定义一个枚举类型。
4namespace:用于定义一个命名空间。
5using:用于引入命名空间或类型。
6as:用于将一个对象转换为另一个类型。
7base:用于指定派生类从基类继承的成员。
8new:用于创建类的实例。
9this:表示当前对象的引用。
10return:用于从方法中返回值。
11throw:用于抛出异常。
12catch:用于捕获异常。
13finally:用于指定无论是否发生异常都要执行的代码块。
14try:用于尝试执行一段可能引发异常的代码。
15checked:用于指示编译器检查算术运算符的溢出。
16unchecked:用于指示编译器不检查算术运算符的溢出。
17async:用于声明一个异步方法。
18await:用于等待异步操作完成。
19lock:用于确保同一时间只有一个线程可以访问某个代码块。
20fixed:用于声明一个固定大小的内存块。

程序员

小A,你在回答“小A,在C#“类”中,除了classinterface之外,请你将其余的保留字也例举出来”这个问题的时候,将trycatchfinally也列了进来,这三个不是属于异常情况的保留字吗?怎么也在“类”中?

非常抱歉,我的回答有误。你是正确的,"try""catch""finally"是与异常处理相关的保留字,而不是属于类的保留字。在C#中,这些保留字用于处理程序中的异常情况。

以下是C#中与类相关的一些保留字:

1class:用于声明一个类。
2`struct`:用于声明一个结构体。
3`new`:用于创建类的实例。
4`virtual`:用于声明一个虚拟方法或属性。
5`override`:用于重写继承的方法或属性。
6`abstract`:用于声明一个抽象类或抽象方法。
7`sealed`:用于声明一个密封类,该类不能被继承。
8`static`:用于声明静态成员。
9const:用于声明一个常量字段。
10`extern`:用于声明外部方法。
11`partial`:用于将一个类分割成多个文件进行编译。
12`volatile`:用于指示变量可能会被其他线程修改,不应进行优化。
13`foreach`:用于遍历集合的元素。
14`using`:用于引入命名空间或类型。
15`namespace`:用于定义一个命名空间。
16`as`:用于将一个对象转换为另一个类型。
17`base`:用于指定派生类从基类继承的成员。
18`operator`:用于重载运算符或自定义运算符的行为。
19get/set:用于访问和设置私有字段的值。
20null:表示空引用或无效值的特殊关键字。
再次对之前的错误回答表示歉意,希望这次能够解答你的问题。

由此我们可以看到,AI确实可以给我们的编程入门提供一定的帮助,但是缺点也很明显,需要对AI进行一定的训练,才能达到想要的效果

这里我为大家提供几个参考网站

大家可以依据参考网站上的知识,训练出属于自己的AI

网站名地址
博客园https://www.cnblogs.com/
菜鸟教程https://www.runoob.com/csharp/csharp-tutorial.html
稀土掘金https://juejin.cn/
MDNhttps://developer.mozilla.org/zh-CN/
segmenthttps://segmentfault.com/blogs

总结反思

今天跟随着AI的脚步,我们认识了C#的标识符,现在我们来复习一下

标识符作用
class用于声明一个类。
struct用于声明一个结构体。
new用于创建类的实例。
virtual用于声明一个虚拟方法或属性。
override用于重写继承的方法或属性。
abstract用于声明一个抽象类或抽象方法。
sealed用于声明一个密封类,该类不能被继承。
static用于声明静态成员。
const用于声明一个常量字段。
extern用于声明外部方法。
partial用于将一个类分割成多个文件进行编译。
volatile用于指示变量可能会被其他线程修改,不应进行优化。
foreach用于遍历集合的元素。
using用于引入命名空间或类型。
namespace用于定义一个命名空间。
as用于将一个对象转换为另一个类型。
base用于指定派生类从基类继承的成员。
operator用于重载运算符或自定义运算符的行为。
get/set用于访问和设置私有字段的值。
null表示空引用或无效值的特殊关键字。
几个注意事项

1、标识符必须以字母下划线开头。
2、C#对标识符是区分大小写的。
3、不要使用C#中的保留字作为标识符,因其有特殊含义,
4、尽量选择有意义描述性的标识符名称,以提高代码的可读性和可维护性。避免使用单个字母作为变量名,除非它具有明确的含义(如i、j)。
5、在命名时应遵循一定的命名规范和风格,以保持代码的一致性和易读性。可以使用驼峰命名法(camelCase)或下划线分隔命名法(snake_case)来组织标识符的名称。

后话

我们程序员往往需要花费大量的时间与代码为伴,真正与人接触的时间往往不多,可代码毕竟只是代码人才是这个世界的主宰,有人的地方就有江湖,不是所有人都是键神,我们大多数人还是要面对各种各样的人际问题,所以如何将利用AI助力代码编写与AI沟通助力人际沟通能力提升有效结合是我们亟待解决的问题。

今天的分享就到此结束了,若发现有任何错误还请诸位指正,喜欢本文的朋友,点赞收藏关注一波吧,您的支持和指正是我创作最大的动力!

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积德行善.jpg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值