C#
unity学院
基于unity和C#进行Vr虚拟现实开发,虚拟仿真软件开发,游戏开发!
展开
-
C# 预处理器指令
2、预处理器指令的用途理解:在程序调试和运行上有重要的作用。比如预处理器指令可以禁止编译器编译代码的某一部分,如果计划发布两个版本的代码,即基本版本和有更多功能的企业版本,就可以使用这些预处理器指令来控制。在编译软件的基本版本时,使用预处理器指令还可以禁止编译器编译于额外功能相关的代码。另外,在编写提供调试信息的代码时,也可以使用预处理器指令进行控制。总的来说和普通的控制语句(if等)功能类似...原创 2020-02-24 15:38:30 · 195 阅读 · 0 评论 -
C#生成Guid(全局唯一标识符)
全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2128(3.4×1038)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。所以,用于生成GUID的算法通常都...原创 2020-01-15 16:18:48 · 1501 阅读 · 0 评论 -
C#判断输入的是否为数字,大写、小写字母,汉字,还是其他(int.TryParse)
1、 TryParse:TryParse静态方法用来将字符串转换成对应类型的数值。所以int.TryParse()是将字符串转换为int类型的,如果成功返回true,失败返回false。private void InpuTErrorText( InputField inputField ){int tmp;string t1 = inputField.text;if ( !int.T...原创 2020-01-11 13:15:12 · 2129 阅读 · 0 评论 -
在C#中??和?分别是什么意思?(运算符 ?、??、?: 、?. 、 各种问号的用法和说明)
可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。例如:string str=null; 是正确的,int i=null; 编译器就会报错。为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?“来表示,表现形式为"T?”例如:int? 表示可空的整形,DateTime? 表示可为空的时间。T? 其实是System.Nullable(...原创 2019-10-12 19:45:07 · 745 阅读 · 0 评论 -
C#实现复制文件夹中文件到另一个文件夹的方法
private void CopyDir(string srcPath, string aimPath){try{// 检查目标目录是否以目录分割字符结束如果不是则添加if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar){aimPath += System.IO.Path.Directory...原创 2019-10-11 20:48:32 · 1601 阅读 · 0 评论 -
补点c#基础_07_委托的定义和使用_Func委托_(指向一个有返回值,有参数的方法)
1、1.1Func后面必须指定一个返回值类型,参数类型可以有0-16个,先写参数类型,最后一个是返回值类型.1.2class Program{static int PrintINT(int t0, int t1){return t0 + t1;}static void Main(string[] args){Func<int, int, int> t = Pri...原创 2019-07-25 11:57:10 · 416 阅读 · 0 评论 -
补点c#基础_07_委托的定义和使用_Action委托_(指向一个没有返回值,没有参数的方法)
1、action是系统内置(预定义)的一个委托类型,它可以指向一个没有返回值,没有参数的方法。、1.1class Program{static void Prif(){Console.WriteLine(“Go Die”);}static void Main(string[] args){int x = 100;Action a = Prif;//action是系统内置(预定...原创 2019-07-25 11:23:17 · 911 阅读 · 0 评论 -
补点C#基础_023_Excel操作_取值
1、EXE表格2、取值using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data.OleDb;using System.Data;namespace _Excel操作{class ...原创 2019-07-30 13:26:53 · 336 阅读 · 0 评论 -
补点C#基础_013_正则表达式
1、正则表达式他使用一种数字算法来解决计算机程序中的文本检索,匹配等问题,专门用于字符串处理的语言。C#可以帮忙解决:1.1检索:通过正则表达式,从字符串中获取我们想要的部分。1.2匹配:判断给定的字符串师傅符合正则表达式的过滤逻辑。1.3,正则表达式表述了一个字符串的书写原则,例如判断用户输入的密码是否合法,判断用户输入的邮箱格式是否合法。2、组成:由普通字符和特殊字符(元字符)组成...原创 2019-07-24 18:28:44 · 120 阅读 · 0 评论 -
补点C#基础_012_泛型方法、多类型
1、1.1class Program{public static string GetSum(T a, T b){return a + " " + b;}static void Main(string[] args){Console.WriteLine(GetSum(12,12));Console.WriteLine(GetSum(“Go”, “Die”));Console...原创 2019-07-24 16:26:43 · 235 阅读 · 0 评论 -
补点C#基础_011_泛型类的定义、使用好处
1、定义一个泛型类指的是,定义一个类,这个类中的某些字段的类型是不确定的,这些类型可以在类构造的时候确定下来://T代表一个数据类型,当使用classA进行构造的时候,需要指定T的类型。1.1定义泛型类class ClassA{private T a;private T b;public ClassA(T a, T b){this.a = a;this.b = b;}pub...原创 2019-07-24 16:09:34 · 194 阅读 · 0 评论 -
补点c#基础_07_委托的定义和使用_多播委托
1、委托引用多个方法,称为多播委托,委托也可以包含多个方法,使用多播委托可以按照顺序调用多个方法 ,多播委托只能得到调用的最后一个方法的结果。,1.1class Program{static void Method1(){Console.WriteLine(“Method1方法被调用了!”);}static void Method2(){Console.WriteLine(“M...原创 2019-07-25 13:23:10 · 147 阅读 · 0 评论 -
补点C#基础_014_匿名方法、Lambda表达式(一个参数,多个参数)
1、匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法赋值。2、class Program{static void Main(string[] args){Func<int, int, int> plus = delegate (int t0, int t1){return t0+t1;};//匿名方法本质上是一个方法,只是没有名字,...原创 2019-07-25 13:48:46 · 1089 阅读 · 0 评论 -
补点C#基础_015_数据的初始化和LINQ的使用
1、MartialArtsMaster类。class MartialArtsMaster{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }public string Menpai { get; set; }public string Kongfu { get;...原创 2019-07-25 20:03:02 · 168 阅读 · 0 评论 -
补点C#基础_016_进程和线程的概念、线程开启方式、检测线程结束
1,计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2,如果工厂的电力有限一次只能供给一个车间使用。也就是说一个车间开工的时候,其他车间就必须停工。背后的含义就是。单个CPU一次只能运行一个任务。(多核CPU可以运行多个任务)3,进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。4,一个车间里,可以有很多...原创 2019-07-26 09:54:37 · 222 阅读 · 0 评论 -
补点C#基础_01_占位符和格式化字符串
! string gunName = “AK47”;string ammoCapacity = “30”;//占位符{位置的编号。}如果编号大于参数的列表长度,则异常。string str = String.Format(“枪的名称为:{0},容量为:{1}”,gunName ,ammoCapacity);Console.WriteLine(str);////标准数字格式字符串。Co...原创 2019-07-22 17:55:12 · 384 阅读 · 0 评论 -
补点C#基础_024_字典 Dictionary 用法、举例说明
C#字典 Dictionary 用法using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;class Program{static void Main(string[] args){//创建泛型哈希表,Key类型...原创 2019-08-01 11:11:53 · 228 阅读 · 0 评论 -
Unity 制作第一人称角色控制器、移动和视角控制
1、player1面板2、player下加上一个摄像机。3、脚本如下:public class player : MonoBehaviour{ private float moveSpeed;//摄像机的移动速度 public GameObject Eye; void Start() { moveSpeed = -8; } ...原创 2019-08-14 16:23:44 · 4417 阅读 · 0 评论 -
return 0 和return 1的区别
return 0 代表程序正常退出,return 1代表程序异常退出!使用return 语句可以返回一个变量内的值或一个指针,也可用return0,表示返回为空。return 代表调到函数外,return 0代表函数正常终止return 1代表函数非正常终止return 关键字的作用是返回程序流程的控制权!其副作用是返回一个值。例如int main(){}则必须返回一个值re...原创 2019-09-09 16:14:48 · 14942 阅读 · 0 评论 -
补点C#基础_10_定义和实现接口
1、定义接口interface Fly{void Fly();void MethodA();}2、实现接口class Bird : Fly{public void Fly(){ } public void MethodA() { }}原创 2019-07-24 15:11:28 · 140 阅读 · 0 评论 -
补点C#基础_09_属性_定义、设置,取值和访问字段
1、属性的定义,1.1设置,取值。public class Vector3{public int MyProtity{set{Console.WriteLine(“属性中的set块被调用”);Console.WriteLine(“在set块中访问value的值是”+value);}get{Console.WriteLine(“属性中的get块被调用了”);retur...原创 2019-07-24 14:24:13 · 213 阅读 · 0 评论 -
Vector3类
1、Vector3的常用方法*Vector是结构体 ****静态成员变量right(右):代表坐标轴(1,0,0)left (左):代表坐标轴(-1,0,0)up(上) :代表坐标轴(0,1,0)down (下): 代表坐标轴(0,-1,0)forward (前):代表坐标轴(0,0,1)back(后):代表坐标轴(0,0,-1)zero(零):代表坐标轴(0,0,0)one(...原创 2019-06-03 15:46:31 · 2863 阅读 · 0 评论 -
三元表达式怎么算?
int a=1;int b=2;int c= a>b?1:0,结果c 为0。a>b 为条件,后面当条件为true时返回":“前面的结果,反之返回”:"后面的结果。三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。语法为:条件表达式?表达式1:表达式2。说明:问号前面的位置是判断的条件,判断结果为bool型,为t...原创 2019-06-06 14:41:22 · 2202 阅读 · 0 评论 -
写一篇string类的装逼方法
1、string.Compare:比较上面两个字符串是否相等string s1=“ssssss”;string s2=“ssssSS”;int ii=string.Compare(s1,s2,true);//比较上面两个字符串是否相等.就是你所说的"字符串变量1,字符串变量2".第三个参数是要不要区分大小写.true是不区分.Response.Write(ii);//如果相等返回0.如果...原创 2019-05-24 17:12:22 · 179 阅读 · 0 评论 -
C#获取当前系统时间
--DateTime 数字型System.DateTime currentTime=new System.DateTime();取当前年月日时分秒 currentTime=System.DateTime.Now;取当前年 int 年=currentTime.Year;取当前月 int 月=currentTime.Month;取当前日 int 日=curr...原创 2019-04-12 11:13:12 · 9221 阅读 · 0 评论 -
鼠标左键控制相机的旋转
鼠标左键控制场景视图1、 挂载:脚本挂载到主摄像机上using UnityEngine;using System.Collections;/// /// 挂载:脚本挂载到主摄像机上/// 功能:通过鼠标控制相机旋转、拖动、拉伸/// public class CameraMove : MonoBehaviour{//目标物体、高度、距离public Transform tar...原创 2019-03-11 17:32:51 · 396 阅读 · 0 评论 -
动态播放声音片段AudioClip
//播放声音。private void PlaySound(string audioClipName){AudioClip audio = Resources.Load(“Audio/AudioSource” + audioClipName) as AudioClip;GameObject manager = UIManager.Instance.GetGameObject(“manage...原创 2019-03-07 14:44:15 · 906 阅读 · 0 评论 -
平移,旋转A,S,D,W几个按键功能
1、小功能,也很常用。2、S,W行走,平移,A,D旋转。float speed = 10.0f;void Update(){if (Input.GetKey(KeyCode.A)){transform.Rotate(-Vector3.up * Time.deltaTime * speed5f, Space.World);return;}if (Input.GetKey(KeyC...原创 2019-02-21 09:57:04 · 612 阅读 · 0 评论 -
C#做一个秒表
C#做一个秒表1、using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class Time0 : MonoBehaviour {private int hour;private int minute;private int s...原创 2019-01-14 19:54:58 · 1315 阅读 · 0 评论 -
补点c#基础_02_continue和break_区别
循环的中断continue,break结束循环static void Main(string[] args){int index = 1;while (true){index++;if (index5){continue;}if (index10){break;}Console.WriteLine(index);}Console.ReadKey();}2、结果...原创 2019-07-23 17:52:27 · 193 阅读 · 0 评论 -
补点C#基础_03_goto和return_区别
1、gotostatic void Main(string[] args){int t = 1;goto lable;t++;lable: Console.WriteLine(“有种你过来呀!”);Console.WriteLine(t);}2、goto跳到指定的位置:3、return原创 2019-07-23 18:10:27 · 214 阅读 · 0 评论 -
补点C#基础_08_函数的递归调用
1、static int F(int n){if (string.Equals(n,0)){return 2;}if (string.Equals(n, 1))//这两个是函数终止递归的条件。{return 3;}return F(n - 1) + F(n-2);//函数调用自身,叫做递归调用。,}static void Main(string[] args){int...原创 2019-07-24 11:43:01 · 146 阅读 · 0 评论 -
补点c#基础_07_委托的定义和使用_delegate
1、定义一个委托和函数差不多,区别在于:1)、定义委托需要加上一个delegate关键字。‘2)、委托的定义不需要函数体。3)、当给一个委托的变量赋值的时候,返回值跟参数列表必须一样!2、 public delegate double MyDelegate(double pamarate1,double pamatate2);//相当于声明了一个新的函数。static double Mu...原创 2019-07-24 11:20:53 · 312 阅读 · 0 评论 -
补点C#基础_019_使用File读写文件、其他类型的文件(例如一张图片)
1、使用File读写文件1.1、TextFile1.txt文本文件:dfsdfsdvbxcvxcvxcvxcvxccvxcvcxvxcvcv1.2class Program{static void Main(string[] args){string[] strArray = File.ReadAllLines(“TextFile1.txt”);...原创 2019-07-29 10:56:23 · 277 阅读 · 0 评论 -
补点C#基础_018_文件夹操作DirectoryInfo
1、文件夹操作DirectoryInfoclass Program{static void Main(string[] args){//绝对路径:加上文件完整的路径名。DirectoryInfo dirInfo = new DirectoryInfo(@“D:\2019.6.4Unity_Projects\Csharp高级篇\CSharp学习高级篇\026文件操作-查看文件和文件夹信息...原创 2019-07-29 10:39:07 · 159 阅读 · 0 评论 -
补点C#基础_017_文件操作-查看文件属性FileInfo
1、文件操作-查看文件属性class Program{static void Main(string[] args){//绝对路径:加上文件完整的路径名。//FileInfo fileIno = new FileInfo(@“D:\2019.6.4Unity_Projects\Csharp高级篇\CSharp学习高级篇\026文件操作-查看文件和文件夹信息\TextFile1.txt”...原创 2019-07-29 10:12:22 · 248 阅读 · 0 评论 -
补点C#基础_06_结构函数的定义和使用
1、struct MyName{public string familyName;public string lastName;public string GetMyName(){return familyName +" "+ lastName;}}class Program{static void Main(string[] args){MyName myName;...原创 2019-07-24 10:16:38 · 129 阅读 · 0 评论 -
补点C#基础_05_数组参数与参数数组_区别、params的巧用
1、普通数组static int Sum(int []plus){int sum = 0;for (int i = 0; i < plus.Length; i++){sum += plus[i];}return sum;}static void Main(string[] args){int t = (Sum(new int []{ 10,1,52,1455,552...原创 2019-07-24 09:53:00 · 174 阅读 · 0 评论 -
补点C#基础_04_结构体和枚举_区别
1、结构体struct position{public float x;public float y;public float z;}class Program{static void Main(string[] args){position eneny1posx;eneny1posx.x = 0;eneny1posx.y = 0;eneny1posx.z = 0;C...原创 2019-07-23 19:31:45 · 623 阅读 · 0 评论 -
C#字典Dictionary在unity中使用案例
C#字典在unity中使用案例1、前言:讲起C#Dictionary,许多人闻之色变,不了解,不清楚,即使知道,了解,也不一定会用,鉴于此,本人特地总结了一个使用字典的案例。2、什么是字典。必须包含名空间System.Collection.GenericDictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)键必须是唯一的,而值不需要唯一的键和值都可以是任何类型(...原创 2019-01-14 11:32:05 · 5626 阅读 · 0 评论