五个简单的C#编程案例
案例一:Hello, World!
csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}
这个案例是最基础的C#程序,它打印出“Hello, World!”到控制台。每个C#程序都从Main方法开始执行。
案例二:计算器
csharp
using System;
class Calculator
{
public static int Add(int a, int b)
{
return a + b;
}
public static int Subtract(int a, int b)
{
return a - b;
}
public static int Multiply(int a, int b)
{
return a * b;
}
public static double Divide(int a, int b)
{
if (b == 0)
{
throw new DivideByZeroException("Cannot divide by zero.");
}
return (double)a / b;
}
}
class Program
{
static void Main()
{
int x = 10;
int y = 5;
Console.WriteLine($"Addition: {Calculator.Add(x, y)}");
Console.WriteLine($"Subtraction: {Calculator.Subtract(x, y)}");
Console.WriteLine($"Multiplication: {Calculator.Multiply(x, y)}");
Console.WriteLine($"Division: {Calculator.Divide(x, y)}");
}
}
这个案例演示了如何使用C#创建一个简单的计算器程序,包含加、减、乘、除四个基本操作。它还展示了如何处理异常情况,比如除数为零。
案例三:字符串反转
csharp
using System;
using System.Text;
class Program
{
static string ReverseString(string input)
{
StringBuilder sb = new StringBuilder(input.Length);
for (int i = input.Length - 1; i >= 0; i--)
{
sb.Append(input[i]);
}
return sb.ToString();
}
static void Main()
{
string original = "Hello, World!";
string reversed = ReverseString(original);
Console.WriteLine($"Original: {original}");
Console.WriteLine($"Reversed: {reversed}");
}
}
这个案例展示了如何使用StringBuilder类来反转一个字符串。
案例四:斐波那契数列
csharp
using System;
class Program
{
static int Fibonacci(int n)
{
if (n <= 1)
{
return n;
}
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
static void Main()
{
int n = 10; // 打印斐波那契数列的前10个数
for (int i = 0; i < n; i++)
{
Console.WriteLine(Fibonacci(i));
}
}
}
这个案例展示了如何使用递归函数来计算斐波那契数列。注意,这个实现方式在n较大时效率很低,因为它会重复计算很多已经计算过的值。在实际应用中,可以使用动态规划等技巧来优化。
案例五:使用LINQ查询数组
csharp
using System;
using System.Linq;
class Program
{
static void Main()
{
int[] numbers = { 5, 10, 8, 3, 6, 12 };
// 使用LINQ查询偶数并排序
var evenNumbers = from num in numbers
where num % 2 == 0
orderby num
select num;
// 打印结果
foreach (var num in evenNumbers)
{
Console.WriteLine(num);
}
}
}
这个案例展示了如何使用LINQ(Language Integrated Query)来查询一个整数数组中的偶数,并按升序排序。LINQ是C#中一种强大的查询语言,它可以用来查询各种数据源,包括数组、集合、XML、数据库等。
相关文章:

五个简单的C#编程案例
案例一:Hello, World! csharp using System; class Program { static void Main() { Console.WriteLine("Hello, World!"); } } 这个案例是最基础的C#程序,它打印出“Hello, World!”到控制台。每个C#程…...

Zlibrary低调官宣2024年最新网址,国内可直接访问,免费下载海量电子书籍
最近过节,文章也没怎么写,明天要上班了,今天写篇文章做个预热。 春节期间,“知识大航海”群里,有位群友分享了一个Zlibrary的最新地址,感谢这位群友妹妹的热心分享,这个地址国内可以直接访问。 …...

Android 开机启动
一、添加权限 <uses-permission android:name"android.permission.RECEIVE_BOOT_COMPLETED"/> 二、写一个广播接收器 public class BootReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {if(Intent.ACT…...

二叉树相关算法需了解汇总-基础算法操作
文章目录 144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历102.二叉树的层序遍历107.二叉树的层次遍历倒序199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针104.二叉树的最大深度111.二叉…...

万字干货-京东零售数据资产能力升级与实践
开篇 京东自营和商家自运营模式,以及伴随的多种运营视角、多种组合计算、多种销售属性等数据维度,相较于行业同等量级,数据处理的难度与复杂度都显著增加。如何从海量的数据模型与数据指标中提升检索数据的效率,降低数据存算的成…...

探索前端框架的世界:一场前端之旅
在网络世界中,网页开发领域的一颗明星是前端框架。这些框架为开发者提供了丰富的工具和技术,帮助他们构建出漂亮、高效的网页应用。现在,让我们随着小明的故事一起来探索一下吧。 小明的梦想 小明是一位年轻有为的前端开发者,他…...

class complex
class complex from C_OOP_base1_houjie complex.h #ifndef __COMPLEX__ // 防卫式声明 guard; 名称自定义 #define __COMPLEX__// 0. forward declarations class complex;complex& __doapl (complex* ths, const complex& r);// 1. class declarations class compl…...

数据库系统概论整理与总结
数据库系统概论 第一章:绪论 四个基本概念 四个概念 数据:Data 数据库:DataBase 数据库管理系统:DBMS 数据库系统:DBS 打个比喻,比如说菜鸟物流: Data:快递 DB:物流厂库 DBMS:对…...

打通新势力NAS权限壁垒,绿联私有云安装Portainer,实现更强大的Docker功能
打通新势力NAS权限壁垒,绿联私有云安装Portainer,实现更强大的Docker功能 对于国产新势力NAS来说,因为安全问题并没有完全开放SSH权限,所以还不能和传统NAS那样直接通过Docker run命令来部署容器,同时,对于…...

前端基础自学整理|DOM树
DOM,文档对象模型(Document Object Model),简单的说,DOM是一种理念,一种思想,一个与系统平台和编程语言无关的接口,一种方法, 使 Web开发人员可以访问HTML元素!不是具体方…...

RedisDesktopManager无法远程连接到Linux虚拟机中Redis的docker容器的一种解决方案
1.问题描述 除了RedisDesktopManager以外,使用java代码也无法连接到centos7虚拟机中的docker容器中的Redis ,按照网上其他博主的解决方案,在排除Linux防火墙问题,端口映射问题,redis.conf配置文件问题以后,…...

HarmonyOS 权限 介绍
权限说明 权限等级 根据权限对于不同等级应用有不同的开放范围,权限类型对应分为以下三种,等级依次提高。 normal权限 normal 权限允许应用访问超出默认规则外的普通系统资源。 这些系统资源的开放(包括数据和功能)对用户隐私以及…...

算法训练营day33(补),复习二叉树1
// 889. 根据前序和后序遍历构造二叉树 // 前序中左右 后序遍历左右中 func constructFromPrePost(preorder []int, postorder []int) *TreeNode { if len(preorder) 0 { return nil } root : &TreeNode{} root.Val preorder[0] //前序数组去掉root节点 preorder pre…...

k8s-权限管理
1. 身份认证 我们在目前的k8s集群环境里面,只能在master节点上执行kubectl的一些命令,在其他节点上执行就会报错 # 看一下是不是 [rootnode1 ~]# kubectl get nodes E0220 12:50:15.695133 6091 memcache.go:238] couldnt get current server API gro…...

四.QT5工具安装和环境变量的配置
1.以管理员身份运行安装包 2.登录qt账号,点击【next】 3.选中同意 4.选择安装目录,注意不能有中文和空格 5.勾选 64位 mingw。点击【next】,等待安装完成 6.配置环境变量...

为什么需要MDL锁
点击上方蓝字关注我 在数据库管理中,元数据(metadata)的保护至关重要,而MySQL中的"元数据锁"(MDL锁)就是它的守护者。 1. 什么是MDL锁MDL锁,全名Metadata Lock,是MySQL中…...

nuxt项目搭建
1.先下载nuxt脚手架 yarn create nuxt-app <项目名>,记得安装完项目,npm i,下载node包 目录介绍 components 存放组件分别是头部(包含导航)和底部 layouts 页面布局,实现一个页面整体架构规则,头…...

RocketMQ消息队列(上)
什么是RocketMQ RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。主要功能是异步解耦和流量削峰。 常见的MQ主要有:ActiveMQ、RabbitMQ、Kafka、RocketMQ 四种MQ的对比 特性Act…...

【机器学习】机器学习是什么以及有哪些应用场景
机器学习是什么以及有哪些应用场景 一、机器学习是什么二、机器学习有哪些应用场景三、如何学习机器学习 一、机器学习是什么 机器学习(Machine Learning, ML)是一种计算机科学技术,它允许计算机系统在没有明确编程的情况下通过从数据中学习…...

vue3 #跨组件通信
//爷爷组件中 import { provide , ref } from vue const money ref (100) //定义数据 provide( money , money ) //提供数据给孙子组件 const changeMoney ( m:number ) > { //定义函数 if (money) { money.value money.value - m } } provide(&quo…...

【AI绘画工具有哪些?】讲解
AI绘画工具有哪些? AI绘画工具有哪些? AI绘画工具有哪些? 截至现在,有多种AI绘画工具被广泛使用。以下是一些流行的AI画图工具和平台: 1. DeepArt - 利用神经网络将你的照片转换成类似著名画家作品的艺术作品。 2. …...

在Vue中使用TypeScript时 props指定枚举类型
推荐一款AI网站 AI写作与AI绘画智能创作平台 - 海鲸AI | 智能AI助手,可以免费领取GPT3.5无限卡 在Vue中使用TypeScript时,您可以通过定义一个枚举类型,然后在组件的props定义中使用这个枚举来指定props的类型。以下是一个如何做到这一点的例子…...

快速将excel/word表格转换为web页面(html)的方法
前言 在进行开发企业信息化建设的过程,应该有很多这样的场景,就是将现有的电子表格记录的方式转换为在数据系统中进行网页上报。也就是需要根据当前一直使用的表格制作一个上传这个表格信息的网页,如果要减少系统的使用学习成本,…...

想高薪就业鸿蒙HarmonyOS 开发岗位,到底该学习些啥?
鸿蒙是什么? 经过十多年的发展,传统移动互联网的增长红利已渐见顶。万物互联时代正在开启,应用的设备底座将从几十亿手机扩展到数百亿 IoT 设备。GSMA 预测到 2025 年,全球物联网终端连接数量将达 246 亿个,其中消费物…...

Java中的建造者模式
建造者模式(Builder Pattern)是一种创建型设计模式,用于创建复杂对象。它将对象的创建过程分离出来,使得构建过程可以独立于对象本身的表示和组成。 在Java中,建造者模式的实现通常涉及以下几个角色: Prod…...

机器学习面试:逻辑回归与朴素贝叶斯区别
逻辑回归与朴素贝叶斯区别有以下几个方面: (1)逻辑回归是判别模型,朴素贝叶斯是生成模型,所以生成和判别的所有区别它们都有。 (2)朴素贝叶斯属于贝叶斯,逻辑回归是最大似然,两种概率哲学间的区别。 (3)朴素贝叶斯需要条件独立假设…...

数据结构之线性表
线性表 数据结构之线性表一、基本定义1、线性表的概念、定义,特点,线性表抽象数据类型定义2、其他 二、线性表的顺序表示与实现1、静态顺序表2、静态表 三、线性表的链式表示与实现1、单链表包含了指针的知识,是第一部分的重难点2、特点3、代…...

记录解决uniapp使用uview-plus在vue3+vite+ts项目中打包后样式不能显示问题
一、背景 从 vue2+uview1 升级到 vue3+vite+ts+uview-plus ,uview组件样式打包后不显示,升级前uview 组件是可以正常显示,升级后本地运行是可以正常显示,但是打包发布成H5后uview的组件无法正常显示,其他uniapp自己的组件可以正常显示。折腾了很久,这里记录下我是如何解决…...

三年功能测试,测试工作吐槽
概述 大家好,我是洋子。有很多粉丝朋友目前还是在做功能测试,日常会遇到很多繁琐,棘手的问题,今天分享一篇在testerhome社区的帖子《三年功能测试,测试工作吐槽》 原文链接https://testerhome.com/topics/38546 这篇文…...

0206-1-网络层
第 4 章 网络层 网络层提供的两种服务 虚电路服务 数据报服务 概要: 虚电路服务与数据报服务的对比 网际协议 IP 网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议: 地址解析协议 ARP (Address Resolution Protocol)逆地…...