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

【从零开始入门unity游戏开发之——C#篇05】转义字符、@处理多行文本或者不使用转义字符、随机数

文章目录

  • 一、转义字符
    • 1、什么是转义字符?
    • 2、常见的转义字符
    • 3、总结
  • 二、使用@处理多行文本或者不使用转义字符
    • 1、多行字符串
    • 2、不使用转义字符
  • 三、随机数
    • 1、`Random.Next()`生成随机整数
      • 示例:生成一个随机整数
      • 生成指定范围内的随机整数
    • 2、`Random.NextSingle`生成随机浮点数
      • 示例:生成随机浮点数
    • 3、 生成随机字母或字符
      • 示例:生成随机字母
      • 示例:生成随机小写字母
  • 专栏推荐
  • 完结

一、转义字符

C# 的 转义字符 是一个非常重要的概念,特别是当你在处理字符串时。转义字符可以让你在字符串中插入一些特殊的字符或符号,这些字符通常不能直接在字符串中使用,或者可能会与程序语法产生冲突。

1、什么是转义字符?

在 C# 中,转义字符是一个以反斜杠(\)开头的特殊字符,它告诉编译器后面跟着的是一个特殊符号或者不常见的字符。例如,\n 表示换行符,\t 表示制表符(Tab)。

2、常见的转义字符

  1. \n - 换行符

    • 在字符串中插入一个换行符,相当于按下“Enter”键。
    • 例子:
      string text = "Hello\nWorld";
      Console.WriteLine(text);
      
      输出:
      Hello
      World
      
  2. \t - 制表符(Tab)

    • 插入一个制表符,相当于按下 Tab 键,会在文本中插入一定的空白区域。
    • 例子:
      string text = "Hello\tWorld";
      Console.WriteLine(text);
      
      输出:
      Hello   World
      
  3. \\ - 反斜杠

    • 如果你需要在字符串中表示反斜杠(\),你需要使用两个反斜杠(\\)来转义。
    • 例子:
      string path = "C:\\Users\\John\\Documents";
      Console.WriteLine(path);
      
      输出:
      C:\Users\John\Documents
      
  4. \' - 单引号

    • 在字符串中插入一个单引号字符(')。如果不使用转义字符,单引号会和字符串的界定符产生冲突。
    • 例子:
      string quote = "It's a beautiful day!";
      Console.WriteLine(quote);
      
      输出:
      It's a beautiful day!
      
  5. \" - 双引号

    • 在字符串中插入一个双引号字符(")。如果不使用转义字符,双引号会与字符串的开始和结束界定符冲突。
    • 例子:
      string quote = "She said, \"Hello!\"";
      Console.WriteLine(quote);
      
      输出:
      She said, "Hello!"
      

3、总结

  • 转义字符用于在字符串中插入特殊字符。
  • 通过在字符前加 \,可以表示特殊字符(如换行符、制表符、引号等)。
  • 常见的转义字符有:\n\t\\\'\"\r 等。
  • 对于需要多行文本或不想使用转义字符的场景,可以使用逐字字符串(@)。

希望这些解释对你有帮助!如果你有更多问题,随时可以问我!


二、使用@处理多行文本或者不使用转义字符

如果你想在字符串中包含多行文本或者不想使用转义字符,你可以使用 C# 中的 逐字字符串(verbatim string),通过在字符串前加上 @ 符号。

1、多行字符串

string multiline = @"
Hello, this is a multi-line string.
You can have newlines and tabs without escaping them.
For example:
- Line 1
- Line 2
";
Console.WriteLine(multiline);

输出:

在这里插入图片描述

2、不使用转义字符

string path = @"C:\Prog\nram Fi\rles\App";
Console.WriteLine(path);

输出:
在这里插入图片描述

逐字字符串中的反斜杠 \ 不需要转义,它们会被直接解释为字符。


三、随机数

在 C# 中,生成随机数通常使用 Random 类。Random 类提供了一些方法来生成不同类型的随机数,比如整数、浮点数等。

特点:左包含,右不包含

1、Random.Next()生成随机整数

要生成随机整数,可以使用 Random 类的 Next() 方法。

示例:生成一个随机整数

Random random = new Random();
int randomNumber = random.Next(); // 生成一个非负整数
Console.WriteLine(randomNumber);

生成指定范围内的随机整数

可以通过 Next(int minValue, int maxValue) 方法指定生成随机数的范围。minValue 是随机数的最小值(包含),maxValue 是随机数的最大值(不包含)。

Random random = new Random();
int randomInRange = random.Next(1, 100); // 生成 1 到 99 之间的随机整数
Console.WriteLine(randomInRange);

2、Random.NextSingle生成随机浮点数

如果需要生成随机的浮点数,可以使用 NextSingle() 方法,返回大于或等于0.0且小于1.0的随机浮点数。

示例:生成随机浮点数

Random random = new Random();
float randomFloat = random.NextSingle(); // 生成一个 0.0 到 1.0 之间的随机浮点数
Console.WriteLine(randomFloat);//比如返回0.49565697

3、 生成随机字母或字符

可以通过随机生成字符的 ASCII 码来生成随机字母。

示例:生成随机字母

Random random = new Random();
char randomChar = (char)random.Next('A', 'Z' + 1); // 生成大写字母
Console.WriteLine(randomChar);

示例:生成随机小写字母

Random random = new Random();
char randomChar = (char)random.Next('a', 'z' + 1); // 生成小写字母
Console.WriteLine(randomChar);

专栏推荐

地址
【从零开始入门unity游戏开发之——C#篇】
【从零开始入门unity游戏开发之——unity篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架开发】

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

相关文章:

【从零开始入门unity游戏开发之——C#篇05】转义字符、@处理多行文本或者不使用转义字符、随机数

文章目录 一、转义字符1、什么是转义字符?2、常见的转义字符3、总结 二、使用处理多行文本或者不使用转义字符1、多行字符串2、不使用转义字符 三、随机数1、Random.Next()生成随机整数示例:生成一个随机整数生成指定范围内的随机整数 2、Random.NextSin…...

我们来对接蓝凌OA --报文格式

题记 数智化办公专家、国家高新技术企业、知识管理国家标准制定者、信创供应商10强…等等,这些和咱们有关系吗!!不好意思,走错片场了,刚和项目经理在甲方那边吹牛B想想刚刚的大饼,看看支付宝余额&#xff…...

旅游系统旅游小程序PHP+Uniapp

旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统 更新日志 V1.3.0 1、修复富文本标签 2、新增景点入驻【高级版本】3、新增门票核销【高级版】4、新增门票端口【高级版】...

Pytest-Bdd-Playwright 系列教程(15):背景(Background)

Pytest-Bdd-Playwright 系列教程(15):背景(Background) 前言一、什么是背景(Background)二、特性文件三、测试脚本四、运行测试总结 前言 在测试的过程中,我们往往会遇到这样的问题&…...

ionic V6 安装ios所需

npm install capacitor/ios添加ios平台 ruby要求3.0以上 rvm use ruby-3.1.0 --default npx cap add ios打开xcode看看创建的项目 npx cap open ios没有capacitor指定的位置, 估计之前pod(cocoapods)安装搞得Ruby环境很乱了......cocoapods整的我麻了... App/App/capacitor…...

3d模型展示-初探

由于工作原因,近一年没怎么写代码,有朋友问你做过3D模型展示吗,之前都是做以vue为框架做定制业务,这次抽时间试试3d模型展示。 软件功能 使用ThreeJS框架实现加载GLB模型,并添加动画效果,实现3d展示模型。…...

OpenLinkSaas 2025年1月开发计划

先来看看OpenLinkSaas的大目标 在OpenLinkSaas的产品目标中,让开发人员更加方便的使用云资源是目标之一。通过各大云厂商的API,来可视化云上基础设施的数据是远远不够的。我们准备在2025年1月份增加方便管理和运营研发场景下服务器的能力。 这部分的功能…...

C# 用封装dll 调用c++ dll 使用winapi

这里用c net 封装winapi函数 pch.h // pch.h: 这是预编译标头文件。 // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 // 但是,如果此处列出的文件中的任何一个…...

XML基础学习

参考文章链接: XML基础学习 在w3school看到了XML的教程,想到以前工作学习中也接触到了XML,但只是简单搜索了解了下,没有认真去学习XML的基础,所以现在认真看下其基础部分,并写篇博客作为笔记记录下。 XML 简介 XML 被设计用来传输和存储数据。 什么是 XML? XML 指可…...

Jmeter直连数据库,jar包下载

运行报错信息:jmeter连接mysql异常:Cannot load JDBC driver class ‘com.mysql.jdbc.Driver‘ 1、下载地址: https://mvnrepository.com/artifact/mysql/mysql-connector-java/ 2、将下载好的jar包 (我的是:mysql-con…...

Unity读取、新建Excel表格

把dll资源解压后,全部导入到unity中的Plugins文件下面 资源放在标题下方,可以自行下载 使用教程 引入命名空间 using SimpleExcel;。这个命名空间下主要有两个类:WorkBook和Sheet。WorkBook用于对整个excel文件的操作,如创建、打开…...

智能高效的IDE GoLand v2024.3全新发布——支持最新Go语言

GoLand 使 Go 代码的阅读、编写和更改变得非常容易。即时错误检测和修复建议,通过一步撤消快速安全重构,智能代码完成,死代码检测和文档提示帮助所有 Go 开发人员,从新手到经验丰富的专业人士,创建快速、高效、和可靠的…...

OpenCV相机标定与3D重建(21)投影矩阵分解函数decomposeProjectionMatrix()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将投影矩阵分解为旋转矩阵和相机内参矩阵。 cv::decomposeProjectionMatrix 是 OpenCV 库中的一个函数,用于将投影矩阵(…...

Flink State面试题和参考答案-(下)

如何监控 Flink 作业的状态大小? 监控 Flink 作业的状态大小是确保作业性能和稳定性的重要方面。以下是一些监控状态大小的方法: 使用 Flink Web UI: Flink 提供了一个 Web 用户界面,可以展示作业的当前状态大小,包括每个操作符…...

111.【C语言】数据结构之二叉树的销毁函数

目录 1.知识回顾 2.分析 3.代码 后序遍历销毁(最简洁) 前序遍历销毁(不推荐) 中序遍历销毁(不推荐) 4.将函数嵌入main函数中执行 1.知识回顾 106.【C语言】数据结构之二叉树的三种递归遍历方式 2.分析 销毁二叉树需要按照一定的顺序去销毁,例如:先销毁根还是先销毁根…...

[论文阅读] |智能体长期记忆与反思

写在前面:10月份的时候,联发科天玑9400发布,搭载这款旗舰 5G 智能体 AI 芯片的荣耀MagicOS9.0实现了一句话让手机自动操作美团点咖啡。很快商场实体店里便能看到很多品牌手机已经升级为智能体语音助手。下一步,这些智能体或许便能…...

【Trouble Shooting】Oracle ADG hung,出现ORA-04021

异常问题: 突然收到告警,ADG实例状态异常。 环境: 版本:Oracle 11.2.0.4.201020 状态:Active Dataguard 问题: 查看Oracle实例alert日志,发现有异常报错: Thu Dec 12 22:15:23 …...

基于springboot的招聘系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的招聘系统,java项目。 e…...

国科大智能设备安全-APK逆向分析实验

APK逆向分析实验 使用APK常用逆向分析工具,对提供的移动应用程序APK文件进行逆向分析,提交逆向后代码和分析报告。具体任务如下: 任务一:安装并熟悉Apktool、Jadx等APK常用逆向工具的使用方法,对提供的Facebook Updat…...

使用SpaceDesk实现iPad成为电脑拓展屏(保姆级教程)

使用SpaceDesk实现iPad成为电脑拓展屏 在官网下载了最新的Windows和Android版本软件,时间:2024.10.23 22:36 https://lxhyouth.lanzouv.com/b0fov5nla 密码:lxhyouth SpaceDesk是一个开源的软件, 所以说对学生和平民用户非常的友好, 连接后的画质也非…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...