MSDN知识库_c#关键字_static】的更多相关文章

    Static 是C#会用到的关键字,可以用来修饰类.字段.方法.属性.运算符.事件和构造函数.今天在多线程中被静态成员不小心被撞了一下,因此将MSDN的内容整理转下来 一)静态类 Static修饰的class是静态类,具有以下的特点: 仅包含静态成员. 无法实例化. 是密封的. 不能包含实例构造函数 偷懒附上MS的代码 public static class TemperatureConverter { public static double CelsiusToFahrenheit(s…
overview 同步基元分为用户模式和内核模式 用户模式:Iterlocked.Exchange(互锁).SpinLocked(自旋锁).易变构造(volatile关键字.volatile类.Thread.VolatitleRead|Thread.VolatitleWrite).MemoryBarrier. 重要内容来源:C# 中的线程处理 - 第 4 部分 - 高级线程处理 (albahari.com) ==========================volatile简介(多语言共性)=…
一.前言 可能项目规模较小,项目中除了增删改查就只剩下业务流程,以前都没怎么弄明白的东西时间长了就越发的模糊了... 二.使用场景 MSDN:delegate 是一种可用于封装命名或匿名方法的引用类型. 委托类似于 C++ 中的函数指针:但是,委托是类型安全和可靠的. 匿名方法 static void Main(string[] args) { TestAnonymousMethod(delegate(string i) { return Convert.ToInt32(i); }); } st…
转载:http://www.cnblogs.com/vd630/p/4601919.html#top 按引用传递的参数算是C#与很多其他语言相比的一大特色,想要深入理解这一概念应该说不是一件容易的事,再把值类型和引用类型给参杂进来的话就变得更加让人头晕了. 经常看到有人把按引用传递和引用类型混为一谈,让我有点不吐不快.再加上前两天碰到的一个有意思的问题,让我更加觉得应该整理整理关于ref和out的内容了. 一.什么是按引用传递 ref和out用起来还是非常简单的,就是在普通的按值传递的参数前加个…
内容提纲 • 托管代码与非托管代码介绍 • 不安全代码介绍 • 用户模式与内核模式 • ETW执行流程分析 • 日志分析工具介绍:PerfView.exe   ETW与非托管代码 • ETW依赖的SourceEvent和TraceEvent的类库中有很多非托管代码.  • 而SourceEvent和TraceEvent类库又依赖最底层的非托管的advapi32.dll来完成实际工作.  •  advapi32.dll 全称是:Advanced Windows 32 Base API DLL,它是…
在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? MSDN:       ref 关键字使参数按引用传递.其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中.若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字.      out 关键字会导致参数通过引用来传递.这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始…
本文关键字:Minidumps, Windows, SEH, VisualC, .NET 摘要 本文讲述了 minidumps 是怎样工作的.当你的程序崩溃的时候应该如何生成它们.以及如何在 Visual Studio .NET 中将它们重新读入. 原文作者:Andy Pennell中文翻译:Victor原文链接:http://www.codeproject.com/debug/postmortemdebug_standalone1.asp 如果你的程序在客户的机器上崩溃了,那么你现在可以使用…
1.闲言碎语 由于项目的需要接触到Linq,刚开始有些不适应,好多概念都很模糊.不过经过一段时间的摸索,慢慢地对Linq有了一个更加深入的了解.在此记录一下备忘.      2.查询表达式语法 执行Linq有两种方式,一种是方法形式eg:names.Contains('K');,另一种就是查询表达式eg:var query=from n in names select n; 下面用代码来详细解释. string[] fruitName = { "Apple", "Pear&q…
本文主要描述在C#中线程同步的方法.线程的基本概念网上资料也很多就不再赘述了.直接接入主题,在多线程开发的应用中,线程同步是不可避免的.在.Net框架中,实现线程同步主要通过以下的几种方式来实现,在MSDN的线程指南中已经讲了几种,本文结合作者实际中用到的方式一起说明一下. 1. 维护自由锁(InterLocked)实现同步 2. 监视器(Monitor)和互斥锁(lock) 3. 读写锁(ReadWriteLock) 4. 系统内核对象 1) 互斥(Mutex), 信号量(Semaphore)…
VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);AfxMessageBox(buf); 2 获取应用程序数据路径的文件夹 TCHAR bufApplicateData[_MAX_PATH];SHGetSpecialFolderPath(NULL,bufApplicateData…
这篇文章主要介绍了C#中ref和out的区别浅析,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢,需要的朋友可以参考下   在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? MSDN:       ref 关键字使参数按引用传递.其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中.若要使用 ref 参数,则方法定义和调用方法…
本篇文章主要介绍了"Windows API教程文件系统",主要涉及到Windows API教程文件系统方面的内容,对于Windows API教程文件系统感兴趣的同学可以参考一下. 索引 概念简介 文件对象 文件流 文件句柄 文件指针 文件系统操作 常见 API 高级文件操作 本讲程序功能列表 CreateFile 具体参数 返回值 DeleteFile 参数 返回值 CopyFile.MoveFile.FindFirstFile ReadFile GetCurrentDirectory…
RichEdit控件 SDK 参考手册 摘要: 本文对Rich Edit控件底层消息机制进行了讲解,以期读者对Windows平台下的Rich Edit控件有一个更深入的认识,同时对于使用Win32 SDK进行开发的人员具有一定参考价值.因为文章的初衷是引领VB程序员通过Win32 API调用来扩展VB下的Rich Edit控件的功能,所以对于每个消息的详细说明和注意事项未作过多说明,感兴趣的朋友可以参考Visual Studio下的MSDN Library. 关键字:Rich Edit Cont…
1.为何要有unsafe 也许是为了实现CLR类型安全的目标吧,默认情况下,C#没有提供指针的使用算法,但是有些情况下也可能需要指针这样直接访问内存的东西(虽然目前我还没有用过),但是有时候程序员非常清楚程序的运行状况,需要使用指针直接访问内存以便于提高性能或者调试.监控程序运行的内存的使用状况,以便于采取相应的措施.还有一些情况是当我们需要调用外面DLL中的函数又不能使用DllImport 时,也需要指针来传递这些函数. 2.unsafe 的定义     MSDN:unsafe 关键字表示不安…
errno_t _chsize_s( int fd, __int64 size ); 详见msdn知识库 _chsize将文件裁剪为指定大小,大小的度量方法与 long ftell(FILE * fp) 度量方法相同 第一个参数是文件信息句柄 open() close() 对应的是低级io,内存中没有缓存,直接对硬盘字符进行操作 fopen() fclose()对应的是高级io,内存中有缓存,在文件关闭(自动关闭前)不会写入硬盘 对于文件信息句柄,高级io通过 FILE * fopen(cons…
接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如标识.状态.操作. IAsyncInfo: public interface IAsyncInfo { AsyncStatus Status { get; } HResult ErrorCode { get; } uint Id { get; } void Cancel(); void Close(…
几乎所有的游戏中都使用了鼠标来改变角色的位置和方向,玩家仅用一个小小的鼠标,就可以使角色畅游天下. 那么,我们如何实现在没有玩家的参与下角色也可以自动行走呢.其实实现这个并不难,仅仅几个Windows API函数就 可以搞定,让我们先来认识认识这些API函数. (1) 模拟鼠标动作API函数mouse_event,它可以实现模拟鼠标按下和放开等动作. VOID mouse_event(DWORD dwFlags, // 鼠标动作标识.DWORD dx, // 鼠标水平方向位置.DWORD dy,…
单例模式 Singleton 保证一个类只有一个实例的实现方法 给其他类提供一个全局的访问点. 由自己创建自己的唯一实例 实现 实现方法分为饿汉式(线程安全).懒汉式(线程不安全).懒汉式(lock+双重验证.线程安全).延迟加载(Lazy.线程安全) 1.饿汉式 这种方式比较常用,但容易产生垃圾对象.这时候初始化 instance 显然没有达到 lazy loading 的效果. 优点:没有加锁,执行效率会提高. 缺点:类加载时就初始化,浪费内存. public class EagerSing…
一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cmd—>sqlplus “/as sysdba” //以sysdba用户登录,这样可以管理权限,添加用户等 Win+R—cmd—>sqlplus username/password //以指定用户名密码登录 win+R —> cmd —–> sqlplus //按照提示,输入用户名密码 …
MSDN:http://msdn.microsoft.com/library/ee558911(v=office.15) 了解如何构造 SharePoint 2013 中的搜索功能 的 KQL 查询.该语法参考介绍了 KQL 查询元素和如何在 KQL 中使用属性限制和运算符. 适用范围:   SharePoint Foundation 2013 | SharePoint Server 2013    本文内容 KQL 查询元素 使用 KQL 构造自由文本查询 KQL 中的属性限制查询 用于复杂查…
linq中存在的 14个关键字 网址: https://msdn.microsoft.com/zh-cn/library/bb310804.aspx from: 迭代变量 where:对数据源进行逻辑筛选 select:对数据进行塑形. group: 分组 into: 分组链接 orderby[ascending/descending]: 排序 join:表关联 let:就是局部变量 string[] strings = { "A penny saved is a penny earned.&q…
//Demo1:Declaring an event in an interface and implementing it in //a class. // event_keyword.cs using System; public delegate void MyDelegate(); // delegate declaration public interface I { event MyDelegate MyEvent; void FireAway(); } public class M…
构造方法详解 构造器也叫做构造方法(constructor),用于对象的初始化. class Person2 { String name; int age; public Person2(String name,int age){ this.name = name; this.age = age; } 要点: 1.要通过new关键字调用 2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里面使用return返回某个值 3.如果我们没有定义构造器,则编译器会自动…
public class PowersOf2 { static void Main() { // Display powers of 2 up to the exponent of 8: , )) { Console.Write("{0} ", i); } } public static System.Collections.IEnumerable Power(int number, int exponent) { ; ; i < exponent; i++) { result…
• 在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量. • 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化, • 对于该类的所有对象来说,static成员变量只有一份.被该类的所有对象共享!! 优先于对象存在,随着类的加载而加载 • 可以使用”对象.类属性”来调用.不过,一般都是用“类名.类属性” • static变量置于方法区中! 如果一个类中所有的成员都是静态的.那么它的构造函数应该设置成 private 的,这样以避免 这个类 被…
1:String类型 #include <iostream> using namespace std; int main() { //初始化方法 string s1 = "hello";//默认构造方法 string s2(s1);//将s2初始化为s1的一个副本 string s3("value");//将s3初始化为字符串的副本 ,'x');//将字符串初始化为字符x的10个副本 cout << s1 << "\t&…
1. 修饰成员变量:有static修饰的为静态变量,没有static修饰的称为实例变量. 实例变量:属于对象的,一个对象有一份.在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响.存储在堆中. 静态变量:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化. Demo: public class Spike { public static void main(String[] args) { Counter a = new Counter(); S…
A delegate is a type that safely encapsulates a method, similar to a function pointer in C and C++. Unlike C function pointers, delegates are object-oriented, type safe, and secure. The type of a delegate is defined by the name of the delegate. The f…
Net中的关键字有很多,我们最常见的就有new.base.this.using.class.struct.abstract.interface.is.as等等.有很多的,在这里就介绍大家常见的,并且有一定代表性的关键字.它们之间有很多相似或者相对的,也是容易混淆的,或者有些特殊用法我们不知道的. 1.new关键字 new关键字是我们学习面向对象最常用的,new一个实例对象,这个是大家最不陌生的一个,估计天天都在写这个.那么下面我们看一下几个问题,带着问题一起去看看. new 一个class对象和…
引用:http://msdn.microsoft.com/en-us/library/hfw7t1ce.aspx base base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法. 指定创建派生类实例时应调用的基类构造函数. 基类访问只能在构造函数.实例方法或实例属性访问器中进行. 从静态方法中使用 base 关键字是错误的. 一.在本例中,基类 Person 和派生类 Employee 都有一个名为 Getinfo 的方法.通过使用 base 关键字,可以从派生类中调…