当前位置: 首页 > news >正文

C#学习....

1.基础

//引用命名空间using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;//项目名或者命名空间
namespace _01_MY_First_Demo
{//Program类class Program{//程序的主入口或者Main函数static void Main(String[] agrs){Console.WriteLine("Hello, World11!");}}
}

2.打印日志

 Console.WriteLine("Hello, World11!");
//让程序暂停
Console.ReadKey();
---------------------------------------
//输入数据
string  name=  Console.ReadLine();
Console.WriteLine(name);

3.注释

//  1.单行注释2.多行注释 /*Console.WriteLine("Hello, World11!");Console.WriteLine("Hello, World11!");Console.WriteLine("Hello, World11!");Console.WriteLine("Hello, World11!");Console.WriteLine("Hello, World11!");Console.WriteLine("Hello, World11!");*//// 3.文档注释 /// <summary>/// 这个方法的作用/// </summary>/// <param name="agrs">第一个参数</param>

4.快捷键

ctrl+k+c :注释所选代码ctrl+k+u :取消注释所选代码ctrl+k+d  :快速对齐代码ctrl+j  :快速智能提示折叠没用代码#region  没用的代码//Console.ReadKey();//Console.ReadKey();//Console.ReadKey();//Console.ReadKey();//Console.ReadKey();#endregion

5.常见数据类型

在C#中,有以下常见的数据类型:1. 值类型(Value Types):- 整数类型:`int`, `long`, `short`, `byte`, `sbyte`, `uint`, `ulong`, `ushort`- 浮点类型:`float`, `double`- 字符类型:`char`- 布尔类型:`bool`- 十进制类型/金钱类型:`decimal`int A0 = 3;
float A1 = 520.1314131413141314F;
double A2 = 520.1314131413141314;
//用来存储金钱,后面要加个M
decimal A3 = 520.1314131413141314M;
Console.WriteLine(A1);
Console.WriteLine(A2);
Console.WriteLine(A3);//用来存储单个字符,需要用单引号引起来。
char ch1 = 'B';//定义字符使用单引号
char ch2 = '\x0042';//使用十六进制编码来表示字符B
Console.WriteLine(ch1);
Console.WriteLine(ch2);2. 引用类型(Reference Types):- 字符串类型:`string`- 数组类型:`int[]`, `string[]`, 等等- 类类型:自定义的类、结构体、枚举等- 接口类型:`interface`- 委托类型:`delegate`3. 空类型(Nullable Types):- 可以为null的值类型,通过在值类型后面加上`?`来声明,例如:`int?`, `bool?`, `double?`??用于判断一个变量在为null的时候返回一个指定的值double? num1 = null;
double? num2 = 3.14157;
double num3;
num3 = num1 ?? 5.34;此外,C#还提供了一些特殊的数据类型,如:
- `object`:所有类型的基类。
- `dynamic`:表示动态类型,可以在运行时进行类型检查和绑定。
- `var`:隐式类型,由编译器根据赋值语句自动推断类型。占位符int n1 = 10;int n2 = 20;int n3 = 30;Console.WriteLine("第一个数字是{0},第二个数字是{2},第三个数字是{1}", n1, n2, n3);Console.ReadKey();

6.占位符

1.c# 占位符
1.占位符的使用方法:先挖坑,再填坑。
注意点:
2.(1)挖了几个坑,就应该填几个坑,如果多填了,没效果,少填了,报异常。
(2)输出顺序,按照挖坑顺序。
3.代码示例:
(1)这个例子不仅展示了占位符的使用方法,也展示了占位符的输出顺序是按照挖坑顺序来的。  int n1 = 10;int n2 = 20;int n3 = 30;Console.WriteLine("第一个数字是{0},第二个数字是{2},第三个数字是{1}", n1, n2, n3);Console.ReadKey();

​7.常用转义字符

(1)转义字符指的就是一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符。
(2)常用的转义字符
\n:表示换行
\":表示一个英文半角的双引号
\t:表示一个tab键的空格
\b:表示一个退格键(相当于删除键),放到字符串的两边没有效果
\r\n:windows操作系统不认识\n,只认识\r\n,相当于换行
\\:表示一个\
@符号:
(1):取消\在字符串中的转义作用,就是不转义
(2):将字符串按照原格式输出。Console.WriteLine("您好明天");
Console.WriteLine("您好\n明天");
Console.WriteLine("你想说什么\"\"");
Console.WriteLine("Hello\tWorld");
Console.WriteLine("别做\b梦了");
Console.WriteLine("\b别做梦了");
Console.WriteLine("别做梦了\b");
string str = "阳光明媚\n风和日丽";           System.IO.File.WriteAllText(@"C:\Users\86178\Desktop\1019.txt", str);
string path = "C:\\Users\\86178\\Desktop\\1019.txt";
string path1 = @"C:\Users\86178\Desktop\1019.txt";
Console.WriteLine(path);
Console.WriteLine(path1);
Console.WriteLine(@"阳光明媚风和日丽");
Console.ReadKey();

8.类型转换

1.显式类型转换(强制类型转换):
int intValue = 10;
double doubleValue = (double)intValue;2.隐式类型转换:
int intValue = 10;
double doubleValue = intValue;3.使用Convert类进行类型转换:
int intValue = 10;
string stringValue = Convert.ToString(intValue);//将 String 表达式转换成 double 类型
String sVaule;
double dVale;
dVale= Convert.ToDouble(sVaule);//将 String 表达式转换成 bool 类型
String MyString = " true ";
bool MyBool = Convert.ToBoolean( MyString );4.使用Parse方法进行字符串转换:
string stringValue = "10";
int intValue = int.Parse(stringValue);5.使用TryParse方法进行安全的字符串转换:
string stringValue = "10";
int intValue;
bool success = int.TryParse(stringValue, out intValue);
if (success)
{// 转换成功
}
else
{// 转换失败
}6.使用ToString方法将基本类型转换为字符串:
int intValue = 10;
string stringValue = intValue.ToString();

9.运算符

11

10.逻辑结构

-------------------if/else--------------------------if(布尔表达式)
{
语句块 1;
}else{
语句块 2;
}int num = 10;if (num > 0)
{Console.WriteLine("Number is positive");
}
else
{Console.WriteLine("Number is non-positive");
}---------------------------
if(布尔表达式 1)
{
语句块 1;
}else if(布尔表达式 2){
语句块 2;
}
…
else{
语句块 n;
}----------------swich/case--------------int day = 3;switch (day)
{case 1:Console.WriteLine("Monday");break;case 2:Console.WriteLine("Tuesday");break;case 3:Console.WriteLine("Wednesday");break;case 4:Console.WriteLine("Thursday");break;case 5:Console.WriteLine("Friday");break;default:Console.WriteLine("Weekend");break;
}
---------------while循环---------
int i = 0;while (i < 5)
{Console.WriteLine(i);i++;
}--------do/while-------------------
int i = 0;do
{Console.WriteLine(i);i++;
} while (i < 5);------------for循环---------------for (int i1 = 1; i1 <= 9; i1++){}

11.异常捕获

结构组成try
{<可能出现异常的代码>
}
catch
{<出现异常后执行的代码>
}
finally
{<不管有没有异常都要执行的代码(可选)>
}------------------------------
using System;namespace ConsoleApplication
{class Program{static void Main(string[] args){string s = Console.ReadLine();try{int n = int.Parse(s);Console.WriteLine(n);}catch{Console.WriteLine("输入的不是一个整数");}}}
}

12.三元表达式

Console.WriteLine("请输入第一个数字:");
int n1 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数字:");
int n2 = int.Parse(Console.ReadLine());int n3 = n1 > n2 ? n1 : n2;Console.WriteLine(n3);
Console.ReadKey();

13.常量

所谓常量,就是在程序的运行过程中其值不能被改变的量。常量的类型也可以是任何一种C#的数据类型。常量的定义格式为:const 常量数据类型 常量名(标识符)=常量值;const double PI=3.1415926;const string VERSION=“Visual Studio 2010”;

14.枚举


//枚举声明,如果不声明值,会默认从0 1 2 3开始排列public enum MyColors{Yellow = 1,Green = 2,Red = 4,Blue = 8}//枚举引用MyColors  ss=        MyColors.Yellow;Console.WriteLine(ss);
--------------
MyColors ss =        MyColors.Yellow;
//强制类型转换,获取数值int sd = (int)ss;Console.WriteLine(sd);

15.结构

//struct 语句为程序定义了一个带有多个成员的新的数据类型。例如,您可以按照如下的方式声明 Book 结构:
//可以帮助我们一次性声明多个不同类型的变量
//变量在程序运行期间只能存储一个值,而字段可以存储多个值。struct Books
{public string _title;//字段,不是变量,加下划线public string _author;public string _subject;public int _book_id;
};  Books b;b._title = "1";b._author = "2";Books A;A._title = "1";A._author = "2";

 16.数组

//1.数组是一个引用类型,所以需要使用 new 关键字来创建数组的实例
double[] balance = new double[10];
string[] sarray = { "Hello", "From", "Tutorials", "Point" };
//2.数组赋值//2.1索引赋值
double[] balance = new double[10];
balance[0] = 4500.0;//2.2声明时赋值
double[] balance = { 2340.0, 4523.69, 3421.0};
//2.3也可以省略数组的大小
int [] marks = new int[] { 99, 98, 92, 97, 95};3.访问数组元素
3.1通过索引访问
double salary = balance[9];
3.2遍历数组for循环 int[] n = new int[10];//声明一个大小是10的数组//初始化数组for(int i=0;i<10;i++){n[i] = i + 100;}
3.3遍历数组,foreachforeach(int j in n){int i = j - 100;Console.WriteLine("n[{0}]={1}", i, j);}

17.方法/函数

[public] [static] 返回值类型 方法名字([参数列表])
{方法体
}-------------------------------
public static int MaxArr(int[] a)
{int temp = Int32.MinValue;for (var i = 0; i < a.Length; i++){if (a[i]>temp){temp = a[i];}      }return temp;
}//方法调用,在main函数中调用
int result = MaxArr(new int[]{20,0,-10,30,25,-100});
Console.WriteLine("数组中最大值为:"+result);
//不自动关闭控制台,等待输入
Console.ReadLine();

相关文章:

C#学习....

1.基础 //引用命名空间using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//项目名或者命名空间 namespace _01_MY_First_Demo {//Program类class Program{//程序的主入口或者Main函数static void Main(S…...

C语言暑假刷题冲刺篇——day2

目录 一、选择题 二、编程题 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C语言每日一练 ✨其他专栏&#xff1a;代码小游戏C语言初阶&#x1f91d;希望作者的文章能对你…...

springcloud3 hystrix实现服务降级的案例配置2

一 服务降级的说明 1.1 服务降级说明 "服务器忙&#xff0c;请稍后在试"不让客户达等待&#xff0c;立即返回一个友好的提示。 1.2 服务降级的触发情况 1.程序运行异常&#xff1b; 2.超时&#xff1b; 3.服务熔断触发服务降级&#xff1b;4 .线程池/信号量打…...

第 3 章 稀疏数组和队列(1)

3.1 稀疏 sparsearray 数组 3.1.1先看一个实际的需求 编写的五子棋程序中&#xff0c;有存盘退出和续上盘的功能。 分析问题: 因为该二维数组的很多值是默认值 0.因此记录了很多没有意义的数据.->稀疏数组 3.1.2基本介绍 当一个数组中大部分元素为 0&#xff0c;或者为同…...

7-10 奇偶分家

分数 10 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 给定N个正整数&#xff0c;请统计奇数和偶数各有多少个&#xff1f; 输入格式&#xff1a; 输入第一行给出一个正整N&#xff08;≤1000&#xff09;&#xff1b;第2行给出N个非负整数&#xff0c;以空格分隔。 输…...

使用词向量以数学方式查找具有相似含义的单词

摄影&#xff1a;Nika Charakova 一、说明 简而言之&#xff0c;词向量只不过是表示自然语言词含义的一系列实数。这项技术是有用的NLP功能的重要推动力&#xff0c;使机器能够“理解”人类语言。本文讨论如何使用词向量以编程方式计算文本的语义相似性&#xff0c;例如&#x…...

opencv实现以图搜图

这里写目录标题 1. 步骤1.1 导入OpenCV库&#xff1a;1.2 加载图像1.3 提取特征1.4 匹配特征1.5 显示结果 2. 完整代码3. 测试图片及效果 1. 步骤 1.1 导入OpenCV库&#xff1a; 在您的C代码中&#xff0c;首先需要导入OpenCV库。您可以使用以下语句导入核心模块&#xff1a;…...

爬虫工作中代理失效了怎么处理?

Hey&#xff01;亲爱的爬虫小伙伴们&#xff0c;是不是经常在爬虫的工作中遇到代理IP失效的问题&#xff1f;别着急&#xff0c;今天我来分享一些应对代理失效的妙招&#xff01;这些方法简单易行&#xff0c;让你爬虫顺利进行. 一、为什么代理会失效&#xff1f; 在爬虫过程…...

使用虚拟环境conda安装不同版本的cuda,cudnn,pytorch

背景&#xff1a;在学习深度学习时&#xff0c;我们不可避免的需要跑多个神经网络&#xff0c;而不同的神经网络环境都不一样&#xff0c;所以必须要使用到虚拟环境(如conda)去做环境隔离&#xff0c;安装属于自己的环境。在这环境中&#xff0c;大多神经网络都必须要用到cuda&…...

【24择校指南】华东师范大学计算机考研考情分析

华东师范大学(B) 考研难度&#xff08;☆☆☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分数人数统计&#xff09;、院校概况、23考试科目、23复试详情、各科目及专业考情分析。 正文2563字&#xff0c;预计阅读&#xff1a;3分钟。 2023考情概况…...

什么是LAXCUS分布式操作系统?

相较Linux、Windows&#xff0c;Laxcus是同时在多台计算机上运行的操作系统&#xff0c;处理大规模、高并发、高性能业务&#xff0c;其特点是资源共享和任务并行&#xff0c;并实现【数存算管】超融合一体化。环境中的资源&#xff1a;CPU、GPU、内存、硬盘、网络&#xff0c;…...

Redis数据结构——链表list

链表是一种常用的数据结构&#xff0c;提供了顺序访问的方式&#xff0c;而且高效地增删操作。 Redis中广泛使用了链表&#xff0c;例如&#xff1a;列表的底层实现之一就是链表。 在Redis中&#xff0c;链表分为两部分&#xff1a;链表信息 链表节点。 链表节点用来表示链表…...

[自学记录06|*百人计划]Gamma矫正与线性工作流

一、前言 Gamma矫正其实也属于我前面落下的一块内容&#xff0c;打算把它补上&#xff0c;其它的没补是因为我之前写的GAMES101笔记里已经涵盖了&#xff0c;而Gamma矫正在101里面确实没提到&#xff0c;于是打算把它补上&#xff0c;这块内容并不难&#xff0c;但是想通透的理…...

【数据结构】二叉树链式结构的实现及其常见操作

目录 1.手搓二叉树 2.二叉树的遍历 2.1前序、中序以及后序遍历 2.2二叉树的层序遍历 3.二叉树的常见操作 3.1求二叉树节点数量 3.2求二叉树叶子节点数量 3.3求二叉树第k层节点个数 3.3求二叉树的深度 3.4二叉树查找值为x的节点 4.二叉树的销毁 1.手搓二叉树 在学习…...

从零实战SLAM-第九课(后端优化)

在七月算法报的班&#xff0c;老师讲的蛮好。好记性不如烂笔头&#xff0c;关键内容还是记录一下吧&#xff0c;课程入口&#xff0c;感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…...

Python Opencv实践 - 图像金字塔

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape)#图像上采样 #cv.pyrUp(src, dstNone, dstsizeNone, borderTypeNone) #参考资料&#xff1a;https://blo…...

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C++)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在BGAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过BGAPI SDK设置相机固定帧…...

计算机竞赛 python+大数据校园卡数据分析

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于yolov5的深度学习车牌识别系统实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&am…...

DNNGP模型解读-early stopping 和 batch normalization的使用

一、考虑的因素&#xff08;仅代表个人观点&#xff09; 1.首先我们看到他的这篇文章所考虑的不同方面从而做出的不同改进&#xff0c;首先考虑到了对于基因组预测的深度学习方法的设计 &#xff0c;我们设计出来这个方法就是为了基因组预测而使用&#xff0c;这也是主要目的&…...

【目标检测】目标检测 相关学习笔记

目标检测算法 PASCALVOC2012数据集 挑战赛主要分为 图像分类 目标检测 目标分割 动作识别 数据集分为四个大类 交通&#xff08;飞机 船 公交车 摩托车&#xff09; 住房&#xff08;杯子 椅子 餐桌 沙发&#xff09; 动物&#xff08;鸟 猫 奶牛 狗 马 羊&#xff09; 其他&a…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...