TRYmontane~萌新变成日记

Day 1 2024.9.20 初识C#

·类型/函数/方法

类型:定义一个变量的类型

如:

Console 控制台窗口

string 字符串

方法:对一个变量进行控制,但不作用于变量本身

如:

Trim方法: 

string greeting = "      Hello World!       ";
Console.WriteLine($"[{greeting}]");

string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");

·打印/字符串内插

【方法】打印:WriteLine()

string aFriend = "Bill";
Console.WriteLine(aFriend);

 用+联接不同内容

Console.WriteLine("Hello " + aFriend);

字符串内插

“xxx”双引号内原本为一整个字符串,但用大括号{}括起来的内容替换为变量值

方法1:注意{}大括号内从0开始标记,在字符串后依序排列变量名

var name = "Mark";
var date = DateTime.Now;

Console.WriteLine("Hello, {0}! Today is {1}, it's {2:HH:mm} now.", name, date.DayOfWeek, date);

方法2:开头添加$声明,括号内放变量名

Console.WriteLine($"Hello {aFriend}");

·字符串/字符串方法

剪切:Trim()

已于前文介绍

替换:Replace(a,b)

【全部的】a替换为b

string sayHello = "Hello World!";
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);

大小写:ToUpper()/ToLower()

Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());

查找:Contains()/StartsWith()/EndsWith()

返回布尔值

string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));

·数字类型

整型:int

双精度浮点数:double (精度高 范围大)

十进制:decimal (精度最高 范围稍小)

Math.PI 等内置常量都为double类型

·条件/循环语句

条件

if和else后跟执行语句用大括号{}包括起来

&&表示且 ||表示或

int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
    Console.WriteLine("The answer is greater than 10");
    Console.WriteLine("And the first number is equal to the second");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
    Console.WriteLine("Or the first number is not equal to the second");
}

循环

while语句和do while语句

int counter = 0;
while (counter < 10)
{
  counter++;
  Console.WriteLine($"Hello World! The counter is {counter}");
  
} 

for语句

for (int counter = 0; counter < 10; counter++)
{
  Console.WriteLine($"Hello World! The counter is {counter}");
}

(应用)制造一个二维数组

for (int row = 1; row < 10; row++)
{
  for (char column = 'a'; column < 'k'; column++)
  {
    Console.Write($"({row}, {column}) ");
  }
  Console.WriteLine("");
}

·列表

列表表明必须指定元素类型

添加元素:Add()

删减元素:Remove()

查找元素:IndexOf()

找到返回【第一个】的索引,找不到返回-1

排序:Sort()

var names = new List<string> { "lyf", "Ana", "Felipe" };
foreach (var name in names)
{
  Console.WriteLine($"Hello {name.ToUpper()}!");
}
Console.WriteLine();
names.Add("Maria");
names.Add("Bill");
names.Remove("Ana");
foreach (var name in names)
{
  Console.WriteLine($"Hello {name.ToUpper()}!");
}

Day2 2024.9.21 初识VS2022 我也有计算机编程环境啦!

根据b站@丑萌气质狗的课程进行学习~~~

·代码结构

namespace 命名空间

class 类型

Main 函数/方法

·暂停程序运行/输入

接受用户输入再继续执行:ReadKey()

接受用户输入:ReadLine()

·方法

构成:修饰符+(static)+void/string...+方法名+()+方法体{}

修饰符:权限控制

public/private/internal

方法使用范围(不写默认private)

方法内部使用:private

不限制使用范围:public

返回值:

不带参数不带返回值:void

带参数带返回值:string/double/int……(返回值是什么类型就定义什么类型)

静态/动态:添加static意味着不需要(无法)实例化。

被static标记的方法在程序开头就已经创建好了,故只能使用用static标记的变量

·泛型集合相当于高级数组

List<string> names = new List<string>();

添加元素:names.Add()

计数:names.Count

·程序调试

try-catch-finally方法

Day3,4 9.22,9.23 啥叫面向对象???

·面向对象:创建实例,使变量、行为有组织、强关联

创建类:class+类名称+{}

创建属性:修饰符+类型+属性名称

创建函数:不加static则必须经过实例化,加static则无法实例化

static适用于不需实例化的场景,比如输出信息……可以直接调用类下面的函数,比较简洁;

不加static适用于需要不同实例来区分不同实体的场景,比如各个人物属性。通过实例来调用函数。

  class People
    {
        public int Age{get;set;}
        public string Name { get; set; }
        public void Eat() {
            Console.WriteLine("我正在吃饭。");
        }
        public void Sleep()
        {
            Console.WriteLine("我正在睡觉。");
        }
    }

对象(实例):对象也叫实例,是经过“实例化”得到的在内存中的实体

创建对象(实例化):类+对象名称+ = +new + 类+括号()

name entity = new name()

相当于创建一个类型为name的参数entity

为对象的属性赋值/调用:类.对象名称

调用函数:对象名称.函数名称+括号()

People FirstPerson = new People();
FirstPerson.Age = Console.ReadLine();
FirstPerson.Name = =Console.ReadLine)();
FirstPerson.Eat();

day4 2024.9.24 代码抽离

·代码抽离:感觉和参数传递差不多?

在不同的class之间快速传递参数

下例中,向类B里面传递类A的参数,类A的实例为FirstPerson

创建新的类:class+类名称B+大括号{}

在新的类中创建方法:public+void+方法名+括号(类A 形参名称)+大括号

{

        调用类A中的参数:形参名称.方法名()

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值