当前位置:  编程技术>.net/c#/asp.net
本页文章导读:
    ▪C#学习笔记——通用对话框      Visual Studio提供的通用对话框控件有:ColorDialog、FolderBrowserDialog、FontDialog、OpenFileDialog、SaveFileDialog、PageSetupDialog、PrintDialog和PrintPreviewDialog。 在使用这些中的某个“通用对话框”控件时,可.........
    ▪C# 语法之委托        楼主现在是大四,在某外包公司已经实习有3个 多月了。其实我专业以前是JAVA开发,临到实习兜兜转转学习windows phone开发了。在学习过程中难免会遇到各种纠结和不懂,所以尝试着写写.........
    ▪运算符总结      人老了总是忘记语法,记录一下=。。=      条件运算符( ?:) int iii = 85;var dd = iii >= 90 ? "A" : iii >= 60 ? "B" : "C";     空合并运算符(??)提供了一种快捷方式,可以在处理可空.........

[1]C#学习笔记——通用对话框
    来源:    发布时间: 2013-10-22

Visual Studio提供的通用对话框控件有:ColorDialog、FolderBrowserDialog、FontDialog、OpenFileDialog、SaveFileDialog、PageSetupDialog、PrintDialog和PrintPreviewDialog。

在使用这些中的某个“通用对话框”控件时,可以向窗体添加该控件,并将其放在控件托盘上。可以保留这些控件的默认名字。如colorDialog1和fontDialog1,因为每种类型只有一个控件可以使用。

显示windows通用对话框

dialogObject.ShowDialog();

示例代码:

1: using System; 2: using System.Collections.Generic; 3: using System.ComponentModel; 4: using System.Data; 5: using System.Drawing; 6: using System.Linq; 7: using System.Text; 8: using System.Windows.Forms; 9:  10: namespace CommonDialog 11: { 12: public partial class FormMain : Form 13: { 14: public FormMain() 15: { 16: InitializeComponent(); 17: } 18:  19: private void btnColor_Click(object sender, EventArgs e) 20: { 21: colorDialog1.ShowDialog(); 22: txtShow.BackColor = colorDialog1.Color; 23: } 24:  25: private void btnFont_Click(object sender, EventArgs e) 26: { 27: fontDialog1.ShowDialog(); 28: txtShow.Font = fontDialog1.Font; 29: } 30:  31: private void button1_Click(object sender, EventArgs e) 32: { 33: folderBrowserDialog1.ShowDialog(); 34: txtShow.Text = folderBrowserDialog1.SelectedPath; 35: } 36: } 37: }

本文链接


    
[2]C# 语法之委托
    来源:    发布时间: 2013-10-22

  楼主现在是大四,在某外包公司已经实习有3个 多月了。其实我专业以前是JAVA开发,临到实习兜兜转转学习windows phone开发了。在学习过程中难免会遇到各种纠结和不懂,所以尝试着写写博客,把自己所学或者所遇到的问题记下来。

  wp7代码由两部分组成,一部分是负责UI的xaml文件,一部分是负责后台的.cs文件。在学习过程中,除了学习新的wp7知识外,也暗恨自己上学时不够用心,C#基础不扎实。仅从此篇开始陆陆续续复习有关C#的知识,期待大家的指点。

  委托和类一样,是一种用户的自定义类型。类表示的是数据的集合,但是委托表示的是一个或者多个方法。

一、声明委托类型

  1. 以delegate关键字开头。

  2. 没有方法主体。

  例:delegate  void MyDel (int x);

  MyDel(int x)为签名;void是返回类型;MyDel是委托类型名。

 

二、创建委托对象并赋值

  委托是引用类型。所以有引用和对象。委托可以调用静态方法,也可以调用实例方法。

  下面ClassA中的HelloChinese是静态方法;classB是ClassB的对象调用ClassB中的HelloChinese实例方法;

MyDel del1 = new MyDel(ClassA.HelloChinese);
MyDel del2 = new MyDel(classB.HelloChinese);

   也可以使用快捷语法,如下:

MyDel del1 = ClassA.HelloChinese;
MyDel del2 = classB.HelloChinese;

 

 

 三、组合委托

MyDel del1,del2,del3;
del1 = ClassA.HelloChinese;
del2 = classB.HelloChinese;
de3=del1+del2; //组合调用委托

  为委托增加方法:

MyDel del1,del2,del3;
del1 = ClassA.HelloChinese;
del1 += classB.HelloChinese;

  从委托移除方法:

del1 -=ClassA.HelloChinese;

  注:

    1)如果调用列表中有多个实例,-=运算符将从列表最后开始搜索,并移除第一个与方法匹配的实例。

    2)如果调用列表为空,委托就是空。

    3)试图调用空委托会抛出异常。

 四、示例

class Program
{
static void Main(string[] args)
{
Test test = new Test();
MyDel del = test.HelloChinese; //声明委托并赋值
del += Test.HelloEnglish; //组合委托
del(", Sir!"); //调用委托
Console.Read();
}
delegate void MyDel(string str);//定义一个没有返回值的委托
}

class Test
{
public void HelloChinese(string strChinese)
{
Console.WriteLine("早上好" + strChinese);
}

public static void HelloEnglish(string strEnglish)
{
Console.WriteLine("Morning" + strEnglish);
}
}

   输出:

   =======

    早上好, sir!

    morning, sir!

     ========

 

 五、调用带返回值的委托

1 class Program
2 {
3 static void Main(string[] args){
4
5 MyClass mc = new MyClass();
6 MyDelegate mDel = mc.Add2;
7 mDel += mc.Add3;
8 mDel += mc.Add2;
9 Console.WriteLine("Value: {0}",mDel());
10 }
11
12 class MyClass {
13 int IntValue = 5;
14 public int Add2() { IntValue += 2; return IntValue; }
15 public int Add3() { IntValue += 3; return IntValue; }
16 }
17 delegate int MyDelegate();
18 }

调用列表中最后一个方法返回的值就是委托调用返回的值。

输出:Value: 12

 六、调用带有引用参数的委托

1 class Program
2 {
3 static void Main(string[] args){
4 MyClass mc = new MyClass();
5 MyDel mDel = mc.Add2;
6 mDel += mc.Add3;
7 mDel += mc.Add2;
8
9 int x = 5;
    
[3]运算符总结
    来源:    发布时间: 2013-10-22

人老了总是忘记语法,记录一下=。。=

 

 

 条件运算符( ?:)

int iii = 85;
var dd = iii >= 90 ? "A" : iii >= 60 ? "B" : "C";

 

 

空合并运算符(??)提供了一种快捷方式,可以在处理可空类型和引用类型时表示null可能的值。

这个运算符放在两个操作数之间,第一个操作数必须是一个可空类型或引用类型;第二个操作数必须

与第一个操作数的类型相同,或者可以隐含地转换为第一个操作数的类型。空合并运算符的计算如下:

<1>.如果第一个操作数不是null ,整个表达式就等于第一个操作数的值

<2>.如果第一个操作数是null,整个表达式就等于第二个操作数的值。

int? a = null;

int b;

b = a ?? 10; //b has the value 10

Console.WriteLine("b:{0}", b);

a = 3;

b = a ?? 10; //b has the value 3

Console.WriteLine("b:{0}", b);

string c = null;

string d;

d = c ?? "default";

Console.WriteLine("d:{0}", d);

c = "c value";

d = c ?? "default";

Console.WriteLine("d:{0}", d);

测试结果

b:10

b:3

d:default

d:c value

本文链接


    
最新技术文章:
▪C#通过IComparable实现ListT.sort()排序
▪C#实现对Json字符串处理实例
▪Winform实现抓取web页面内容的方法
▪Winform实现将网页生成图片的方法
▪C#控制台程序中处理2个关闭事件的代码实例
▪WinForm实现同时让两个窗体有激活效果的特效...
▪WinForm实现拦截窗体上各个部位的点击特效实...
▪用C#的params关键字实现方法形参个数可变示例
▪C#判断某程序是否运行的方法
▪C#验证码识别基础方法实例分析
▪C#通过WIN32 API实现嵌入程序窗体
▪C#实现获取鼠标句柄的方法
▪C#事件处理和委托event delegate实例简述
▪C#获取程序文件相关信息的方法
▪C#中的除法运算符与VB.NET中的除法运算符
▪ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedLi...
▪Base64编码解码原理及C#编程实例
▪C#实现的优酷真实视频地址解析功能(2014新算...
▪C#和SQL实现的字符串相似度计算代码分享
▪C#使用Word中的内置对话框实例
▪C#反射之基础应用实例总结
▪C#生成单页静态页简单实例
▪C#实现SMTP邮件发送程序实例
▪C#实现随鼠标移动窗体实例
▪C#使用GDI+创建缩略图实例
▪C#实现通过模板自动创建Word文档的方法
▪C#中Response.Write常见问题汇总
▪C#中多态、重载、重写区别分析
▪WinFrom中label背景透明的实现方法
▪C#中out保留字用法实例分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3