C#
果vinegar
这个作者很懒,什么都没留下…
展开
-
Action和Func的使用
Action和Func两者的区别在于Action没有返回值,而Func有返回值。在调用 Func<int,bool>XXX时,只需要传入一个int型参数即可,它将会返回一个bool类型的值。即Func尖括号内最后一个类型代表该Func的返回类型。...原创 2020-06-01 10:03:41 · 282 阅读 · 0 评论 -
c# Task启动带参数和返回值的方法
Task启动带参数Task.Run(() => test("123"));public void Test(string s){ ...todo..}Task启动带参数和返回值的方法 var s = Task.Run(() => isTest("ss")); var t = s.Result; private bool isTest(string isn...原创 2020-04-29 15:13:23 · 14502 阅读 · 0 评论 -
SVN版本管理之C#开发Visual Studio下bin和obj目录区别、意义
Visual Studio 编译时,会有bin和obj两个目录,当我们使用SVN的时候经常会出现每次打开一个项目解决方案上出现绿色图标变成黄色图标,意思有修改需要提交,这个问题就是这两文件夹作用的。bin(binary的缩写)目录bin 是默认情况下的输出文件目录,存放编译结果,bin 目录下有debug 和 release 目录。分别存放Debug设置编译结果和Release编译结果。可...原创 2019-01-01 23:10:11 · 1049 阅读 · 0 评论 -
字节转换 B,KB,MB,GB
public string ConversionSize(long size) { double sizeD = size; if (sizeD < 1024) return sizeD.ToString("f1") + "B"; sizeD = sizeD / 1024d;原创 2017-06-07 10:58:29 · 846 阅读 · 3 评论 -
GZipStream归纳总结
GZipStream 类提供用于压缩和解压缩流的方法和属性。创建压缩流实例有个参数枚举CompressionMode,它有两个值分别是Compress、DeCompress。表示压缩和解压。压缩和解压代码 //实例化FileStream对象infile FileStream infile = new FileStream(filepath, FileMode.Open, ...原创 2018-04-04 12:03:20 · 2934 阅读 · 0 评论 -
关于Select方法的使用
//for 循环将数组展开再进行转换 object[] Obj = new object[9]; GameObject[] Gobj=new GameObject[9]; for (int i = 0; i < Obj.Length; i++) { Gobj[i] = Obj[i] as GameObject;原创 2016-12-28 16:53:23 · 426 阅读 · 0 评论 -
C#中属性的使用
关于属性和公有字段的区别:公有字段可以被自由无限制的访问。如果属性写成:public int A {get;set;}那么和公有字段没有区别,用法也是一样的。但是属性的用法可以限制字段。比如:int _age;public int Age{ get{return _age;} set { if(value>0&&value<150)// 限制原创 2016-10-18 17:59:04 · 750 阅读 · 0 评论 -
C#中? ?: ??的使用
一、可空类型修饰符(?): 引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空,例如:string str=null;是正确的。int i=null;编译器将报错。为了使值类型也可为空,可空类型出现了,可空类型使用可空类型修饰符?来表示,表现形式为T?。例:int?表示是可空的整形,DateTime?表示为可空的时间。T?其实是System.Nullable<T&...原创 2016-10-28 09:01:03 · 376 阅读 · 0 评论 -
File.CreateText创建文件并写入文本
最近在网上看到许多关于创建文件并写入文本的博文,大概都是以下的方法:创建一个新文本文件并写入一个字符串:using System;using System.IO;public class TextToFile{private const string FILE_NAME = "MyFile.txt";public static void Main(String[] args){转载 2016-10-10 15:13:02 · 11587 阅读 · 0 评论 -
关于委托的研究
最近有朋友因为委托的问题一直受困扰,这里总结一下什么是委托?委托顾名思义,就是自己不干,让别人干,这个有别与C和C++ 的函数指针(还是学过C和C++的),这里是一种方法,而且不管是静态方法还是非静态方法,而函数指针只是指向静态函数,这点也是两者的主要区别。一般委托会用在观察者模式(Observer)里。那么如何使用委托呢?这里总结了一下,主要分三步走;一、定义一个委托delega原创 2015-11-26 15:04:00 · 467 阅读 · 0 评论 -
C#中的Event的使用
在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。 事件概述 事件具有以下特点: l 发行者确定何时引发事件,订户确定执行何种操作来响应该事件。l 一个事件可以有多个订户。一个订户可处理来自多个发行者的多个事件。l 没有订户的事件永远不会被调用。l 事件通常用于通知转载 2015-11-26 21:41:06 · 2190 阅读 · 0 评论 -
关于Random.Range 范围的学习
平时对这个随机的方法使用很多,但是这个范围总是模糊,那么这个范围是什么呢?Random.Range 范围static function Range (min : float, max : float) : float当Range的参数是float时,返回一个随机浮点数,在min(包含)和max(包含)之间。(只读)也就是说都是包括的临界值的。那参数是整形的呢?function R...原创 2015-11-19 10:54:56 · 34909 阅读 · 4 评论 -
C# 中使用readonly关键字和const的区别
const 的概念就是一个包含不能修改的值的变量。常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。如果 const int a = b+1;b是一个变量,显然不能在编译时就计算出结果,所以常量是不可以用变量来初始化的。readonly 允许把一个字段设置成常量,但可以执行一些运算,可以确定它的初始值。因为 readonly 是在计算时执行的,当然它可转载 2015-11-19 10:00:33 · 509 阅读 · 0 评论 -
关于虚方法virtual和抽象方法以及多态的研究
定义: 当类中的方法声明前加上了virtual 修饰符,我们称之为虚方法,反之为非虚。使用了virtual 修饰符后,不允许再有static, abstract, 或override 修饰符(必须是Public)。 为了实现多态,父类里面的方法用虚方法,子类里面可以对该方法重写,也可以不重写,当我们创建了一个子类 的对象并把它转换成了父类的类型后,如果子类里面原创 2015-11-21 19:27:23 · 1799 阅读 · 0 评论 -
关于unity截屏的方法
最近弄了一个小方法,就是unity中如何截屏,觉得有趣就分享一下 写一个脚本,我这里挂在摄像机上。脚本里写一个Public的方法。using UnityEngine;using System.Collections;using System.IO;//注意引入public class SavedScreen : MonoBehaviour{ void Start()原创 2015-11-10 11:06:59 · 665 阅读 · 0 评论 -
Unity3D中Mathf.LerpAngle使用
float minAngle = 0.0;float maxAngle = 90.0;void Update () { float angle = Mathf.LerpAngle(minAngle, maxAngle, Time.time); transform.eulerAngles = Vector3(0, angle, 0);}如果maxAngle-minA翻译 2015-11-04 22:16:52 · 4304 阅读 · 0 评论