WPF C# .NET7 基础学习

学习视频地址:https://www.bilibili.com/video/BV1hx4y1G7C6?p=3&vd_source=986db470823ebc16fe0b3d235addf050

开发工具:Visual Studio 2022 Community
基础框架:.Net 6.0
下载创建过程略

.Net和.Framework
区别是Net是依赖项,Framework是引用

using:

1.定义一个命名空间,最常用不只包括using namespace,还用开头使用的using System.xxxx.xxxx
2.using static 指令:指定无需指定类型名称即可访问其静态成员的类型

using static System.Math;var = PI; // 直接使用System.Math.PI

3.起别名

using Project = PC.MyCompany.Project;
  1. 当控件离开 using 语句块时,将释放获取的 IDisposable 实例。 using 语句可确保即使在 using 语句块内发生异常的情况下也会释放可释放实例。
var numbers = new List<int>();
using (StreamReader reader = File.OpenText("numbers.txt"))
{
    string line;
    while ((line = reader.ReadLine()) is not null)
    {
        if (int.TryParse(line, out int number))
        {
            numbers.Add(number);
        }
    }
}

程序执行从Main函数开始执行
简化一个大括号的方法只有namespace适用
在这里插入图片描述
等价于
在这里插入图片描述

C#基本语法

基本语法类似于C++和java;
0.区分大小写
0.1.与java不同,文件名可以和类名称不同
1.关键字:尽量不重名吧
2.注释.cs文件 使用//或/* sth */ 其中///可以作为引用时可以看到的注释
.xaml文件 <!-- sth->

变量

在这里插入图片描述
这种语法查一下:
在这里插入图片描述
长转短类型可转换,短转长不可转换。
字符串拼接
在这里插入图片描述

作用域

父节点资源可以供子节点使用,子节点的不能供同级子节点使用。
在类中声明变量,在类中方法中再次声明会覆盖类中声明的变量。

数组

1.数组声明需要使用new关键字
2.声明数组时可以使用{}初始化元素
3.声明数组之前没有使用{}初始化数组,需要指定数组大小
4.声明初始化有元素的数组的时候,也可以指定数组大小。

数组转换

int.Parse只支持从string转换成int,在2023版本,string只能是整数,小数会报错,然后转换成都double类型,则使用double.Parse
Convert.ToInt32,不完全遵循四舍五入,当正好为.5时,输出周围两数的偶数,其余数字输出正常。
Convert.ToInt32可以输出null,但是int.Parse只能处理非空string。

函数与方法

函数->对象的动作行为,计划好承担的作用,越单一越好。
命名规范大驼峰规则
参数设置和传参行为
参数:外部需要函数处理的数据
传参行为:个人理解,写不出来了
返回值设定int、void、Task啥的

参数修饰符

修饰符种类:
1.无修饰符,认为按值进行传递,被调用的方法收到原始数据的一份副本。
2.out:输出参数由被调用的方法赋值,被调用的方法没有给输出参数赋值会出现编译错误
3.ref: 调用者赋初值,可以由被调用方法可选的重新赋值,不赋初值编译错误
4.params:这个修饰符只能作为最后一个参数传入,作为一个可变数量的参数传入。
ref和out:
1.out传入参数必须在方法内修改,ref可修改可不修改
2.ref修饰的参数,在实参必修有初值时才能调用,ref修饰的不一定会给赋值。

封装案例

这部分简单,就是加个函数。

面向对象基础(OOP)

类和对象概念啥的
声明类

public class xxx{
}

声明属性
属性特殊,常用书写方法

public int xxx{get;set;}

有get字段,获取该属性的值;
有set字段,设置该属性的值;
类:
在这里插入图片描述

下面使用类的写法一致:
在这里插入图片描述

访问修饰符

public:公有属性,所有类可以访问
private:私有属性 当前类内部可以访问
protected:受保护的 当前类以及继承它的子类可以访问
internal:内部的 只限于本项目内访问,其他不可以访问
protected internal:内部保护访问 只能时本项目内部或子类访问 其他类不能访问
类中的成员默认访问是私有的,类本身默认是internal
静态 使用static修饰,静态和属性可以通过类型直接获取,非静态必须通过实例化获取
一般情况不需要使用static,只有类型中有扩展方法的时候,例如传入参数是this string xxx时,只能将class的修饰换为static。

继承

继承东西太多了,多写多用
子类中的属性,父类得不到其中的属性。
子类转父类使用as可以得到null属性,可以加判断减少程序崩溃

接口(Interface)

C#一般只能单继承,一个类只能继承一个父类,但是接口可以让一个类拥有多个基类
构造函数没有返回值类型
多态还是利用接口,完成相似类型的输出

值类型和引用类型

值类型保存数据
引用类型存储其数据的引用
声明引用类型的关键字:
class
interface
delegate
record
C#提供的内置引用类型:
dynamic
object
string
值类型
结构类型:用于封装数据和相关功能:struct
枚举类型:一组,类似数组
整型、浮点、bool、char

值类型作为一种副本,重新占用空间,另一个改变不影响这个,类似{int i=1;int j=i;j++}j改变i不变,引用类型时j变化,i也变化

因为引用时直接按引用地址改变,改变地址内的值。

集合

数组在内存中连续存放,索引非常快,但是对于插入删除啥的太慢了,数组声明的时候就已经固定大小了。
ArrayList是用于数据存储和检索的专用类。是命名空间System。collectioons下的一部分。
按照其中存储的数组动态扩充与收缩(收缩指的时可以使用的索引,但是占用的大小只能不断扩大)。
声明时不需要指明长度。
方便进行删除,插入,添加。

ArrayList arr=new ArrayList;
ArrayList.add();
ArrayList.Insert(位置,数据);
ArrayList.RemoveAt(位置);
ArrayList.Remove(值);
ArrayList.RemoveRange(起始索引,个数);

劣势:在存储数据时使用object类型进行存储,不是类型安全的,可能出现类型不匹配的错误。
插入同一类型的数据,需要将其转换成原来的类型进行处理。
存储存在装箱和拆箱操作,性能低下。
装箱值类型隐式转换成引用类型
拆箱引用类型显示转换成值类型
List集合
声明list集合的时候,需要同时声明list集合中数据的

List<int> intList = new List<int>;

C#里的集合可以有相同的数据;

//等价于ArrayList,但是一般不建议
List<object> intList = new List<object>;

字典(Dictionary)

有键(key)和值(value),键唯一,但value不唯一,一个值可以由多个值对应。

熟悉foreach循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
".NET Core", ".NET Framework", WPF (Windows Presentation Foundation), 和 WinForms (Windows Forms) 都是与 .NET 相关的技术,但它们有一些区别。 1. .NET Framework: - .NET Framework 是最早发布的 .NET 平台,它是用于构建 Windows 应用程序的一种技术框架。 - 它提供了广泛的类库和功能,用于开发各种类型的应用程序,包括桌面应用程序、Web 应用程序和服务应用程序等。 - .NET Framework 只能在 Windows 操作系统上运行,因此它对于跨平台开发是不够灵活的。 2. .NET Core: - .NET Core 是微软在 .NET 平台的下一代开发平台,它是一个跨平台的开源框架。 - .NET Core 支持在 Windows、macOS 和 Linux 等多个操作系统上运行,因此可以实现跨平台开发。 - 它具有较小的安装包大小、更快的性能和更好的可扩展性。 - .NET Core 提供了 ASP.NET Core(用于构建 Web 应用程序)和 EF Core(用于数据访问)等组件。 3. WPF (Windows Presentation Foundation): - WPF 是一种用于构建 Windows 桌面应用程序的用户界面技术。 - 它提供了丰富的界面设计功能,支持XAML(可扩展应用程序标记语言)来定义应用程序的用户界面。 - WPF 可以与 .NET Framework 或 .NET Core 一起使用。 4. WinForms (Windows Forms): - WinForms 是一种用于构建 Windows 桌面应用程序的用户界面技术。 - 它使用基于事件的编程模型,通过在窗体上添加控件来构建应用程序的用户界面。 - WinForms 只能与 .NET Framework 一起使用。 总结: .NET Core 是一个跨平台的开源框架,可以用于构建各种类型的应用程序,包括 Web 应用程序和桌面应用程序。.NET Framework 是一个仅限于 Windows 平台的框架,具有更广泛的类库和功能。WPF 和 WinForms 则是两种用于构建 Windows 桌面应用程序的用户界面技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值