c#软件开发学习笔记--Math函数、goto语句、可空类型

C#方法设计三大铁律:30行红线、静态与实例边界、可访问性防御 在C#开发中,方法设计是影响代码可维护性与系统稳定性的底层关键。其本质涉及人脑工作记忆极限(约7±2信息块)对逻辑密度的约束,以及.NET运行时对资源生命周期、线程安全和多态调用的硬性机制要求。30行方法红线并非教条,而是降低上下文丢失、暴露隐性耦合、提升单元测试效率的工程阈值;静态与实例方法的选择,需回归‘是否需要维护状态’这一设计原点,避免线程不安全陷阱与测试不可控风险;而private/internal/protected/public的显式声明,则构成面向演化的访问契约防线。这些原则广泛应用于金融核 阅读详情

c#软件开发学习笔记

一、Math函数

 //1 Abs() 求绝对值
 Console.WriteLine(Math.Abs(-10));

 //2 Floor() 向下求整
 Console.WriteLine(Math.Floor(2.3)); //2
 Console.WriteLine(Math.Floor(2.7)); //2 

 //3 Ceiling(2.3) 向上求整
 Console.WriteLine(Math.Ceiling(2.3));//3
 Console.WriteLine(Math.Ceiling(2.9));//3

 //4 Round()四舍六入五取偶数
 Console.WriteLine(Math.Round(3.5));//4
 Console.WriteLine(Math.Round(2.5));//2,.5是中间值,在进行舍入的时候,取离他最近的偶数
 
 // 小数指定位数要想使用正常四舍五入
//参数1 :2.5 指定舍入的数据
//参数2 舍入的规则,如果MidpointRounding.AwayFromZero 正常的四舍五入
//如果MidpointRounding.ToEven 取最近的偶数
Console.WriteLine(Math.Round(2.5,MidpointRounding.AwayFromZero));//3
Console.WriteLine(Math.Round(1.225,2,MidpointRounding.AwayFromZero));//1.23

//5 Math的属性 Math.PI 圆周率
Console.WriteLine(Math.PI);

//6 Math.Pow() 第一个数的指定次幂 2的3次方
Console.WriteLine(Math.Pow(2,3));

//7 Sqr() 进行开方计算
Console.WriteLine(Math.Sqrt(9));

//8Math.Max() 求最大值
Console.WriteLine(Math.Max(3,2));

//9Math.Min() 求最小值
Console.WriteLine(Math.Min(3,2));

//Math.Sin(30) =>0.5  
Console.WriteLine(Math.Sin(Math.PI/6));

//11 Math.Cos()求余弦
Console.WriteLine(Math.Cos(Math.PI/3));

二、goto语句

inputSex: goto 语句的标签名。定义标签时候,定义在代码的前一行

inputSex:
   Console.WriteLine("请输入一个性别"); 
   string str =  Console.ReadLine();
    if (str=="男")
        Console.WriteLine("性别是男");
    else if (str=="女")
        Console.WriteLine("性别是女");
    else
    {
        Console.WriteLine("输入性别不合法 请重新输入");
        goto inputSex;// 去重复执行inputSex
    }
}

三、可空类型

string s = "";//空字符串
// 值类型只能表示数字, 不能表示null
// 引用类型可以表示null
string s1 = null; 
int a = 10; //只能正数和负数以及0,但是不能表示null

//如果想让值类型 除了能表示正常的范围数据还能表示null 可以使用数据类型?变量=null;
//作用扩大类型表示范围

 int?c = null;//在变量前添加一个? 就可以表null
  c = 19; //可以给自己赋值为其他的

//int d = c;//等号左右俩边范围不匹配, c可以取null,但是d不能取null。
           
//可以使用双??进行赋值给整型变量,
//把包含null类型转成不包含的null类型的数据
 int d = c??10; // 如果c为null  取后面数字,如果c不为null 取c的值
计算书大师2026二次开发:土压力系数自动化计算实践指南 土压力系数是岩土工程中的基础概念,用于表征土体对挡土结构产生的压力大小。其计算原理基于朗肯、库伦等经典土力学理论,通过土体内摩擦角、粘聚力等参数确定主动、被动土压力系数。自动化计算的技术价值在于将复杂公式封装为可复用模块,显著提升计算效率和准确性。在岩土工程设计、边坡稳定分析、基坑支护等应用场景中,传统手动计算容易出错且耗时。计算书大师2026的二次开发接口为此提供了解决方案,支持VBA、C#、Python等多种开发语言,实现土压力系数的批量计算与结果验证,帮助工程师建立标准化工作流程。 阅读详情

相关推荐

ASP.NET Web Forms头像裁剪无刷新上传实战指南

头像裁剪是Web应用中典型的文件处理场景,其本质是前端图像交互与后端二进制流处理的协同问题。核心原理在于浏览器端坐标映射、图片缩放算法与服务端Session状态保持的精准配合。技术价值体现在跨IE8–Edge全版本兼容性、内存可控的高质量缩略图生成,以及IIS环境下无刷新上传的稳定性保障。典型应用场景包括政务系统、金融后台、教育平台等需长期维护的.NET Web Forms老系统。本文聚焦Uploadify与CutPic.js在真实生产环境中的深度适配,覆盖Session传递、坐标映射、Flash通信、II

天下无双 466

c#基础知识合集05 Math goto语句 可空类型 双层for循环

方法名作用Math.Abs获取一个数的绝对值Math.Sqrt计算一个数的平方根Math.Pow计算一个数的指定次幂Math.Tan计算角度(以弧度为单位)的正弦、余弦和正切值-Math属性使用Math.PI进行角度和弧度转换将小数向上取整到最接近的整数Math.Floor将小数向下取整到最接近的整数Math.Round将小数四舍五入到指定小数位数或最接近的整数Math.Min获取两个数中的最大值和最小值goto语句在 C# 中,goto。

2603_96051737的博客 622

从海康威视SDK Demo到工业级C#上位机开发实战指南

在工业视觉、安防监控和物联网领域,上位机软件作为连接硬件设备与业务系统的核心枢纽,其稳定性和功能性至关重要。上位机开发通常涉及设备通信、数据采集和实时控制,而海康威视SDK作为行业标准接口,为设备集成提供了基础能力。通过理解SDK的架构原理,开发者可以构建健壮的设备控制程序,实现视频流处理、云台操控等核心功能。在实际工程实践中,多线程管理和内存泄漏防范是确保系统长期稳定运行的关键技术,尤其在处理多路视频预览和长时间运行场景时。本文基于海康威视SDK的C#开发实战,深入探讨了从环境搭建到工业级应用构建的全过程

weixin_34195142的博客 711

【c#基础】3.流程控制、Math、可空类型

本文系统介绍了C#编程中的控制结构,主要包括选择结构和循环结构。选择结构部分详细讲解了if语句、if-else双分支、多分支判断、嵌套if以及switch-case语句的使用方法和应用场景,并配有多个练习示例。循环结构部分重点阐述了while、do-while和for三种循环的语法特点、执行流程及适用情况,通过阶乘计算、数字求和等实例演示了循环的实际应用。此外,还介绍了break和continue两个关键字的用法区别。

qq_56230359的博客 345

详解k-means++

一、概述 定义:k-means++是一种为k-means聚类算法选择初始值(或“种子”)的算法。它是NP-hard k-means问题的一种近似算法,它是一种避免标准k-means算法有时发现的较弱聚类的方法。 K-means与K-means++:原始K-means算法最开始随机选取数据集中K个点作为聚类中心,而K-means++按照如下的思想选取K个聚类中心:假设已经选取了n个初始聚类中心(0<n<K),则在选取第n+1个聚类中心时:距离当前n个聚类中心越远的点会有更高的概率被选为第n+1个聚

qq_42364307的博客 3万+

COMSOL仿真教程—激光烧蚀

本例使用二维模型,将来自激光的入射热通量模拟为金属表面上空间分布的热源,从而得到金属的烧蚀过程和瞬态温度分布。

qq_40977332的博客 2万+

5.C# —— Math,goto,双for循环

本文汇总 C# 三大循环语法、循环跳转语句、常用 Math 数学方法、goto 跳转语法、可空类型用法以及双层循环执行逻辑,梳理基础流程控制与数值处理核心语法。

z56789w的博客 165

深入GSConv代码:逐行解析这个混合了标准卷积与深度可分离卷积的‘新算子’

本文深入解析GSConv代码,详细介绍了这个混合标准卷积与深度可分离卷积的‘新算子’的设计哲学与实现框架。通过PyTorch代码逐行分析,揭示GSConv如何在轻量级卷积神经网络中平衡计算效率与特征表达能力,特别适用于Slim-Neck架构,显著降低计算量同时保持高精度。

weixin_29860267的博客 321

第一阶段C#基础-5:三目,for循环,while循环,Math的API,goto

本文摘要介绍了C#编程中的核心语法结构:1.三目运算符(条件表达式)的格式和使用方法;2.switch分支语句的语法规则和注意事项;3.for循环的结构要素、调试方法和嵌套使用;4.while和do-while循环的区别及适用场景;5.循环控制语句continue和break的作用;6.Math类的常用数学运算方法;7.goto语句的跳转功能。这些语法结构是C#编程的基础,掌握它们有助于编写更高效、结构化的代码,特别适用于流程控制和数学运算场景。

m0_65011747的博客 806

Oracle入门——基础语法篇

ROWID是Oracle中的一个伪列,用于唯一标识数据库中的每一行。在查询中,可以使用ROWID来定位和操作特定的行,例如,删除特定的行或更新特定的行。在Oracle中,子查询是指嵌套在另一个查询内部的查询语句,它可以作为主查询的一部分,用于提供额外的过滤条件、计算或数据源。在Oracle中,连接查询是通过使用JOIN子句将两个或多个表中的数据合并在一起,以获取满足特定条件的结果集。在Oracle数据库中,ROWID和ROWNUM都是用于对行进行标识和定位的伪列,它们在查询中的使用有一些不同之处。

麦当当的博客 3089

【图像检测】基于MATLAB的火灾监测系统设计

1 简介 针对传统火灾监测系统对于大空间的室内场合和开阔的室外环境易失效的问题,提出了一种结合火灾火焰特征和烟雾特征来进行判断的数字图像型火灾监测算法.火焰颜色特征是基于RGB颜色模型中的R,G,B三基色分量和它们之间的关系来判断是否有火焰发生,烟雾模型特征是图像灰度化预处理后,基于HIS空间模型提取的,通过计算像素点与基准像素点之间距离D的大小来判断是否有火灾发生.对提出的算法进行MATLAB仿真,并和传统的基于五种算子的边缘检测算法提取火焰烟雾特征进行对比.实验结果表明,提出的火焰特征和烟雾特征提取算

qq_59747472的博客 2797

C#第四天Math函数、go to循环、可空类型、双层for循环、九九乘法表

Math:提供一些关于数学方面的函数,使用Math函数,一般都是通过Math.函数名;原因:是函数static静态函数,静态函数使用的时候通过类名.函数进行使用。

txy040200的博客 383

abapGit 安装与初始化完整指南:从 on-premise 到 SAP BTP ABAP environment 的一条龙实践

本文为ABAP开发者提供abapGit从安装到团队协作的完整指南。内容涵盖社区版ZABAPGIT的on-premise安装、Eclipse ADT插件配置、BTP环境使用及常见网络问题处理。重点包括:获取最新构建的安装步骤、EN语言环境的重要性、ADT插件安装方法、以及如何实现on-premise与BTP间的代码迁移。文中特别强调企业环境下代理设置、证书配置等注意事项,并提供实际操作案例,如将RAP业务对象迁移到BTP环境。文末附有可复用的实施清单,帮助开发者快速落地abapGit。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 417

C#格式化输出和数值舍入

C#字符串处理string是不可变类型常用的string成员格式化输出 字符串处理 string是不可变类型 返回类型为string的string成员方法生成了新的字符串,如果不对其赋值,则此操作无效。 例如: s="123"; s.Insert(1,"."); Console.WriteLine(s); 运行结果: 123 所以需要声明一个新的字符串来接收返回值: s="123"; s_new...

x1471898145的博客 486

FastAPI基础项目:仿头条新闻的web项目,实现基本的新闻列表页和详情页查看功能

该项目是一个基于FastAPI和MySQL的新闻应用入门项目。主要包含新闻列表页和详情页两个功能页面。项目结构清晰,包含主应用文件、数据库脚本和HTML模板。使用SQLAlchemy进行数据库操作,通过脚本可自动生成50条示例新闻数据。环境配置简单,仅需安装FastAPI、MySQL驱动等基础依赖,通过.env文件管理数据库连接。该项目适合作为FastAPI+MySQL的入门学习案例,展示了基本的CRUD操作、分页查询和模板渲染功能。

数据知道的博客 4428

操作系统|知识梳理|复习(下)

操作系统复习

知识库搭建ing 1784

C#初识

定义变量 数据类型 变量名; 赋值 数据类型 变量名 = 值; 先定义变量然后再赋值: 数据类型 变量名; 变量名 = 值; 交换(位运算) a = a ^ b; b = a ^ b; a = a ^ b; C#的命名规则 C# 命名规则是为了让整个程序代码统一以增强其可读性而设置的。每一个单位在开发一个软件之前都会编写一份编码规范的文档。 常用的命名方法有两种,一种是 Pascal 命名法(帕斯卡命名法),另一种是 Camel 命名法(驼峰命名法)。 Pa

weichuyong_的博客 436

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C++语句全解析:从基础语法到实战避坑指南

在编程语言中,语句是构成程序执行流程的基本单元,它决定了代码的逻辑结构和控制流。从原理上讲,语句将表达式、变量和运算符组织成可执行的指令序列,实现顺序、分支和循环等核心编程范式。其技术价值在于赋予程序动态行为和决策能力,是算法实现和复杂逻辑构建的基石。在应用场景上,无论是数据处理、用户交互还是系统控制,都离不开条件判断、循环迭代和异常处理等语句机制。本文聚焦C++语言,深入探讨表达式语句、复合语句、控制流语句及异常处理等关键概念,并结合RAII资源管理、作用域控制等热词,解析实际开发中的常见陷阱与最佳实践,

weixin_33704591的博客 657

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

unity C# Mathf类源码

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33862041的博客 389

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【c#学习】基础知识

本文介绍了C#开发的核心概念,分为三部分:1)SOLID设计原则,包括单一职责、开闭原则等五大原则;2)C#基础架构,涵盖控制台、窗体、WPF等应用模板;3)C#基本元素,如关键字、运算符、类型系统(值类型/引用类型)、变量、类与命名空间等。重点讲解了类成员(属性、方法、事件)、访问修饰符、构造器及装箱拆箱机制,强调高内聚低耦合的代码规范,为C#开发奠定基础。

czzxzzc的博客 180

C#数组(超级深度解析C#数组)

这份 C# 数组深度教程,从内存底层布局一路延伸到项目实战,把一维数组、多维矩形数组、交错数组讲得通透透彻。不只停留在基础语法,拆解了托管堆内存结构、零基索引原理、Array.Resize 的底层真相,理清空数组与 null 数组的大坑。 教程涵盖遍历、排序、二分查找等经典算法,对比二维数组与交错数组性能差异,剖析数组协变隐患,还加入 Span 零拷贝、内存缓存优化、图像像素处理等前沿实战内容。同时整理高频 bug 与面试真题,兼顾课堂学习、刷题训练与 AI 视觉开发,零基础能看懂,老手也能夯实底层功底。

dawn_007_seven的博客 459

JavaSE『学习笔记』

本教程以 JDK8 为主,新版本与新特性以介绍与使用为辅。

小哞^同^学的技术博客 1237

C#记录日志,日志记录,记录本地日志,轻量高性能LogHelpter,不依赖第三方

C#记录日志,记录本地日志,LogHelpter

u011511086的专栏 9938

课程第5天(基础)

格式:for(外层初始化;{ for(内层初始化;注:标签名的位置要在你要跳回语句的上一行。注:外层循环执行一次,内层循环执行一边。goto start;start: // 定义标签。

2401_88333033的博客 32

Python程序开发——python 基础知识点总结

注释就是打草稿,写的东西并不会真正出现在结果里。在Python语言中,注释是使用井号键 # 或三引号 “”" 来分别进行单行注释和多行注释。其中多行注释是以三引号开头,以三引号结尾。例如,下列python代码,第一行用#注释了所以没有运行,第 2-3 行用三个引号进行注释了,是多行注释,所以也没有运行: 运行结果如下,注释内的内容被注释掉了所以没有显示: 命名规则在考试中常考到,这里要注意,不仅是变量名、画笔名和函数名,或者列表名、元组名、字典名等等,都遵循下面这个规则!!! 需注意要避免使用Python关

小宇y的博客 1808

别再傻等接口了!用Playwright的Route类5分钟搞定Mock数据,测试效率翻倍

本文介绍了如何利用Playwright的Route类快速实现Mock数据拦截,提升测试效率。通过Route类,开发者可以在网络协议层直接拦截和修改HTTP请求,无需代码侵入,支持静态JSON、动态生成等多种响应方式,适用于前端开发、自动化测试等场景,显著减少接口依赖问题。

dianzhuique8587的博客 365
上一篇: c#软件开发学习笔记--条件判断、循环
下一篇: c#软件开发学习笔记--类和对象、内存结构
Z599817841
博客等级 码龄4年 12粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值