
C#
linuxheik
这个作者很懒,什么都没留下…
展开
-
C# foreach循环较for循环的优势与劣势
C# foreach循环较for循环的优势与劣势一、foreach循环的优势C#支持foreach关键字,foreach在处理集合和数组相对于for存在以下几个优势:1、foreach语句简洁2、效率比for要高(C#是强类型检查,for循环对于数组访问的时候,要对索引的有效值进行检查)3、不用关心数组的起始索引是几(因为有很多开发者是从其他语言转到C#的,有些语言的起始索引可...转载 2018-08-27 09:42:42 · 3285 阅读 · 0 评论 -
shader最后FallBack 很重要,但不知道原因,请指教!(颠覆认知)
大部分教材对于FallBack是这么解释的: 回退 (Fallback) 可定义在所有子着色器 (Subshader) 之后。大致来说就是“如果所有子着色器都无法在该硬件上运行,请尝试使用另一个着色器的子着色器”。 但事实是: 如果你新建一个最简单Shader,比如给Cube加上一张纹理图片,如果没有添加FallBack,则没有阴影!!! 如果自己写一个半透明物体的Shad转载 2018-01-08 14:45:16 · 4294 阅读 · 0 评论 -
C#中get和set
C#中get和sethttp://blog.sina.com.cn/s/blog_82526aa60100txtx.html 在程序中经常碰到get、set,不甚明白,在网上查询时也说的迷迷糊糊,所以整理下,以学的明白透彻点。 有两个类person: public class person { public转载 2018-01-08 10:44:14 · 226 阅读 · 0 评论 -
Invalid option 'latest' for /langversion; must be ISO-1, ISO-2, Default or an integer in range 1 to
Easily Add PDF Word & Excel Function to Your .NET AppsYou may be thinking that C# 7 features are already supported with Visual Studio 2017 and you do not need to make any changes for t转载 2018-01-15 16:56:51 · 6552 阅读 · 0 评论 -
SerializedProperty 序列化属性
SerializedProperty 序列化属性SerializedProperty and SerializedObject are classes for editing properties on objects in a completely generic way that automatically handles undo and styling UI for p转载 2018-01-15 15:00:38 · 2417 阅读 · 0 评论 -
[HideInInspector]也可用于隐藏属性显示
Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型;(2)自定义类型,并使用[System.Serializable]关键字序列化,比如:[System.Serializable]public class TestClass{ public Vector3 vec = Vector3.zero; public Colo转载 2018-01-15 14:16:15 · 1905 阅读 · 0 评论 -
Unity3D研究院编辑器之独立Inspector属性(九)
Unity3D研究院编辑器之独立Inspector属性(九) 雨松MOMO 【Unity3D拓展编辑器】 围观18126次 5 条评论 编辑日期:2016-05-03 字体:大 中 小Unity提供了强大的Editor功能, 我们可以很轻易的在EditorGUI中绘制任意的属性。比如我之前写的文章 http://www.xuanyusong.com/archives/转载 2018-01-15 14:15:30 · 238 阅读 · 0 评论 -
默认显示DrawDefaultInspector and OnInspectorGUI
Unity Trick #1 – Make an inspector for any ScriptableObject Mark Wahnishon Aug 31, 2015Over the course of development, I’m constantly finding cool features of Unity and c# that I nev转载 2018-01-15 14:07:07 · 1175 阅读 · 0 评论 -
属性的自动实现(Auto-Implemented Properties) - VS2005
在VS2008中C#实现了属性的自动读取/写入功能。那么这些自动实现的代码在VS2005中如何改写呢? 首先,更改.sln文件 把Format Version 10.00 -> Format Version 9.00 # Visual Studio 2008 -> # Visual Studio 2005转载 2018-01-22 15:39:54 · 254 阅读 · 0 评论 -
自动实现的属性-Auto-Implemented Properties
自动实现的属性(C# 编程指南)2015/07/20作者 在 C# 3.0 及更高版本,当属性访问器中不需要任何其他逻辑时,自动实现的属性会使属性声明更加简洁。 它们还允许客户端代码创建对象。 当你声明以下示例中所示的属性时,编译器将创建仅可以通过该属性的 get 和 set 访问器访问的专用、匿名支持字段。示例下列示例转载 2018-01-22 15:38:57 · 770 阅读 · 0 评论 -
又一次自己编译Mono,这次是在Windows上,玩Bundle
[成功]又一次自己编译Mono,这次是在Windows上,玩Bundle作者:V君 发布于:2017-10-30 21:07 Monday 分类:折腾手记目标 -- 将 .net 应用程序用只用一个 exe 承载, 并极大缩减体积, 且能保证工作正常.(这次不是针对性的解决问题, 不TL;DR (´∀((☆ミつ ■前言 虽然早转载 2018-01-22 14:57:17 · 657 阅读 · 0 评论 -
从游戏脚本语言说起,剖析Mono所搭建的脚本基础
从游戏脚本语言说起,剖析Mono所搭建的脚本基础0x00 前言在日常的工作中,我偶尔能遇到这样的问题:“为何游戏脚本在现在的游戏开发中变得不可或缺?”。那么这周我就写篇文章从游戏脚本聊起,分析一下游戏脚本因何出现,而mono又能提供怎样的脚本基础。最后会通过模拟Unity3D游戏引擎中的脚本功能,将Mono运行时嵌入到一个非托管(C/C++)程序中,实现脚本语言和“引擎转载 2017-12-06 15:04:45 · 894 阅读 · 0 评论 -
Calling C Code From Mono/.NET
Calling C Code From Mono/.NETMAY 05, 2015Mono is, in my view, a potentially great option for game scripting. Perhaps the most obvious example of this in action is the Unity g转载 2017-12-06 14:59:46 · 270 阅读 · 0 评论 -
Unity 使用自定义资源(.asset)配置数据
Unity 使用自定义资源(.asset)配置数据在游戏开发中,经常会用到一些配置文件保存一些数据,然后项目运行中读取这些配置文件中的数据在游戏中使用。如:配置血条:根据角色类型(人物、动物、怪物等)配置不同的血条,包括血条大小,血条名或血条预设,血条颜色等一些简单数据。如:配置子弹:子弹类型(真子弹、假子弹、追踪子弹等),子弹速度,伤害数值,子弹关联的特效等。诸如此类的配置很多种,可转载 2018-01-19 16:32:23 · 2193 阅读 · 0 评论 -
C# 数组 Array foreach 索引 null
地址:http://www.cnblogs.com/txw1958/archive/2013/01/11/csharp-array.html数组概述 数组是一种数据结构,它包含若干相同类型的变量。数组是使用类型声明的:数组具有以下属性:数组可以是一维、多维或交错的。数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。...转载 2018-03-30 12:00:12 · 1433 阅读 · 0 评论 -
GetCustomAttributes XmlSerialiazer XmlIgnoreAttribute
public XmlAttributes(ICustomAttributeProvider provider) { object[] attrs = provider.GetCustomAttributes(false); // most generic <any/> matches everithig XmlAny...原创 2018-05-17 16:13:41 · 267 阅读 · 0 评论 -
C#中foreach的实现原理
C#中foreach的实现原理2017年04月01日 17:57:02 阅读数:3155更多个人分类: C#在探讨foreach如何内部如何实现这个问题之前,我们需要理解两个C#里边的接口,IEnumerable 与 IEnumerator. 在C#里边的遍历集合时用到的相关类中,IEnumerable是最基本的接口。这是一个可以进行泛型化的接口,比如说IEnumerable<U...转载 2018-08-27 09:41:31 · 1048 阅读 · 0 评论 -
C# 中的sealed修饰符学习
转载原地址 http://developer.51cto.com/art/200908/147327.htmC#语言还是比较常见的东西,这里我们主要介绍C# sealed修饰符,包括介绍两个修饰符在含义上互相排斥用于方法和属性等方面。C# sealed修饰符是干什么的?C# sealed修饰符表示密封用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排...转载 2018-05-22 15:13:15 · 377 阅读 · 0 评论 -
C# string类型(引用类型)
C# string类型(引用类型)2016年03月31日 10:34:45阅读数:966sing类型(引用类型)名称CTS类型说明stringSystem.StringUnicode字符串string str1 = "hello ";string str2 = "world ";这是一个值类型的赋值,但string是一个引用类型。String被分配在堆上,而不是栈上。因此,当把一个字符串变量赋给另...转载 2018-05-08 09:44:22 · 372 阅读 · 0 评论 -
在windows上编译32位和64位mono
1.从git克隆出源码git clone https://github.com/mono/mono.git2.进入源码的msvc目录,打开mono.sln,选择需要的解决方案配置,解决方案平台。编译。例如64位:release_sgen,x6432位:release_sgen,Win32There are two ways of building Mono on Windows, both do ...转载 2018-05-18 16:45:42 · 1442 阅读 · 0 评论 -
GetCustomAttributes
using System; namespace QueryAttribs{ public enum RemoteServers { JEANVALJEAN, JAVERT, COSETTE } public class RemoteObjectAttribute : Attribute { ...转载 2018-05-18 09:27:12 · 2443 阅读 · 0 评论 -
C# 序列化原码分析
mcs\class\referencesource\mscorlib\system\runtime\serialization\formatterservices.csprivate static MemberInfo[] GetSerializableMembers(RuntimeType type) { // get the list of all fields ...原创 2018-05-18 09:20:58 · 241 阅读 · 0 评论 -
c# Attribute与自定义
using System;using System.Reflection;public class Demo{ // Make three fields: // The first field is private. private string m_field = "String A"; // The second field is public. ...转载 2018-05-18 09:08:00 · 838 阅读 · 0 评论 -
【C#】-属性(Property)和字段(Field)的区别
导读: 近期学习过程中发现了一些问题,我的学习只是学习,敲代码就是敲代码,没有加入思考,也不问为什么就直接去敲人家写好的例子去敲,把知识都学死了,逐渐散失了思考能力,所以学习的兴趣大打折扣,正如那句话—学而不思则罔,思而不学则殆,在设计模式中偶然看到了属性和字段,想想之前的C#中也提到过,但是从来没有思索过为什么有属性和字段?下面就来详细说明。【字段】 字段(Field)是一种表示...转载 2018-05-18 08:59:41 · 2275 阅读 · 0 评论 -
反射:PropertyInfo、FieldInfo和MemberInfo的区别
反射:PropertyInfo、FieldInfo和MemberInfo的区别2017年09月20日 19:52:16阅读数:1402第一次去了解反射中的各个类,暂时先从这几个类进行区分。首先新建一个类:其中包括:私有字段 a=1,公共字段 b=3 ,公共属性 A=2[csharp] view plain copy public class myClass { p...转载 2018-05-18 08:58:56 · 1618 阅读 · 0 评论 -
NonSerialized 字段如果在dll 中读到数据写入MonoClassField中
mono_class_setup_fieldsmono_field_resolve_type//读取属性,生成monotypemono_class_setup_basic_field_infotypebuilder_setup_fieldsves_icall_TypeBuilder_create_runtime_class public FieldBuilder TypeBuilder.Defin...原创 2018-05-17 22:08:21 · 215 阅读 · 0 评论 -
C#反射发出System.Reflection.Emit学习
GenerateRefEmitAssemblyDiagnosticsSwitches.KeepTempFiles.Enabled = true;一、System.Reflection.Emit概述 Emit,可以称为发出或者产生。与Emit相关的类基本都存在于System.Reflection.Emit命名空间下。反射,我们可以取得形如程序集包含哪些类型,类型包含哪些方法等等大量的信息,而Emi...转载 2018-05-17 20:57:42 · 3558 阅读 · 0 评论 -
MonoField MonoReflectionField FieldInfo
mono\mcs\class\corlib\System.Reflection\MonoField.cs[StructLayout (LayoutKind.Sequential)] internal class MonoField : RtFieldInfo { internal IntPtr klass; internal RuntimeFieldHandle fhandle; strin...原创 2018-05-17 20:05:29 · 381 阅读 · 0 评论 -
mono嵌入式应用研究(三):注册内部函数
mono嵌入式应用研究(三):注册内部函数说到mono的嵌入式开发,最关键的要属内部函数了,mono通过扩展CIL指令集,使c#可以调用native端注册的内部函数,这个也是mono虚拟机实现的基础。内部函数的注册使用API mono_add_internal_call,具体如下:[cpp] view plain copymono转载 2017-12-06 12:07:42 · 539 阅读 · 0 评论 -
Reflect中MethodInfo使用方法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection;namespace MethodInfoInvokeDemo{public class ReflectTest{public void MethodWi转载 2017-05-12 15:17:11 · 1256 阅读 · 0 评论 -
C#中的数组
C#中的数组C# 数组 Array foreach 索引 null 地址:http://www.cnblogs.com/txw1958/archive/2013/01/11/csharp-array.html数组概述 数组是一种数据结构,它包含若干相同类型的变量。数组是使用类型声明的:数组具有以下属性:数组可以是一维、多维或交错的。数值数组元素的默认转载 2015-08-01 10:07:06 · 430 阅读 · 0 评论 -
.net反射详解
概述反射 通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象。 反射机制允许程序在执行过程中动态地添加各种功能。 运行时类型标识 运行时类型标识(RTTI),可以在程序执行期间判定对象类型。例如使用它能够确切地知道基类引用指向了什么类型对象。运行时类型标识,能预先测试某个强制类型转换操作,能否成功,从而避免无效的强制类型转换异常。 在c#转载 2015-07-31 10:44:47 · 896 阅读 · 0 评论 -
对老赵写的简单性能计数器的修改
对老赵写的简单性能计数器的修改 早上看到老赵写的这个性能计数器,感觉很实用,不过老赵用了很多.C# 3.0 的新语法,还用了 VISTA 和 Server 2008 下特有的Win32 API,对于还在用C#2.0 或者还工作在 XP 或者 Server 2003 下的兄弟们,只能望代码心叹了。应老赵的要求,我修改了他的代码,增加了对低版本C# 和 低版本windows 操作系统的支持转载 2015-07-31 12:02:28 · 519 阅读 · 0 评论 -
C# 引用类型作为函数参数时
C# 引用类型作为函数参数时在探讨本文的主题之前,先来介绍下C#中的值类型和引用类型众所周知C#中有值类型和引用类型,值类型有基础数据类型(诸如int,double,bool等)、结构体、枚举,引用类型有接口、类、委托。值类型全部在操作系统的栈空间中申请,而引用类型则在操作系统的堆空间中建立对象,然后在栈空间中申请一个指针指向这个对象的地址。因此C#的引用类型其实就转载 2015-07-30 17:54:58 · 572 阅读 · 0 评论 -
Lambda 表达式
Lambda 表达式(C# 编程指南)Visual Studio 2013其他版本Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数。 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数。 Lambda 表达式对于编写 LINQ 查询表达式特别有用。若要创建转载 2015-05-14 13:56:30 · 442 阅读 · 0 评论 -
用C#语言泛化单件模式
用C#语言泛化单件模式 本人对于C#只能算是初学者,写此随笔,也只为和大家一起讨论,共同进步。 我看到过一些用C#语言泛化单件(Singleton)的文章和代码,里面有个问题,即用new来创建对象,比如类似下面这段代码: if (_instance == null){ _instance = new T();} 要想让其工作,你转载 2015-05-14 14:11:28 · 581 阅读 · 0 评论 -
C#基础 [09] 属性
C#基础 [09] 属性一、属性的定义和特征 1.属性的定义 属性是表示类或类的实例中的一个数据项的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。 2.属性的特征 1).属性是命名的类成员,它有类型,可转载 2015-05-15 15:56:55 · 478 阅读 · 0 评论 -
Howto implement callback interface from unmanaged DLL to .net app?
Howto implement callback interface from unmanaged DLL to .net app?up vote12down votefavorite3in my next project I want to implement a GUI for already existi转载 2015-05-12 12:35:06 · 835 阅读 · 0 评论 -
VS2010中C#调用C函数
VS2010中C#调用C函数 (2013-07-22 16:12:50)转载▼ 分类: C_Concept1. 创建C本地DLL文件1.1 创建Win32Dll项目1.2 创建DLL,点击完成1.3 在“头文件”里新建文件:CPPLibraryTest.h 在CP转载 2015-05-12 09:26:38 · 837 阅读 · 0 评论 -
How to make a callback to C# from C/C++ code
How to make a callback to C# from C/C++ codeTecfield, 26 Jun 2013 CPOL 60.1K 66 4.94 (33 votes)Rate:vote 1vote转载 2015-05-12 12:38:35 · 471 阅读 · 0 评论