`
baobeituping
  • 浏览: 1064795 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

c#(二)

    博客分类:
  • .NET
阅读更多

c#中的类型:

bool,int,uint,long,ulong,float,double,decimal,char,string.

 

c#中的名称空间:他是.NET中提供应用程序代码容器的方式,这样就可以唯一标示代码及内容。默认情况下C#代码包含在全局名称中。这意味着包含这段代码中的项,只要按照名称进行引用,就可以由全局名称空间中的其他代码访问他们。如果一个名称空间中的代码需要使用在另一个名称空间中的名称,就必须包括对该名称空间的引用。

 

例如:Program想要获得Class1中的方法引用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Class1
    {
        public void Write()
        {
            Console.WriteLine("成功");
        }
       
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
       public string str = "fengyun";
        static void Main(string[] args)
        {
            string str1 = "tuping";
            string str2 = "wuweiling";
            Console.WriteLine("{0} love {1}",str1,str2);
            Class1 c = new Class1();
            c.Write();
            Console.ReadKey();
        }
      
      
    }
}

 

 

定义数组的时候,如果采用如下方式:

const int var = 4;
            int[] myInt = new int[var] {1,2,3,4 };

 

那么const是必不可少的。规则为使用变量定义数组大小,该变量必须是一个常量。

 

字符串处理:

 string myString = "a string";
            char[] attrs = myString.ToCharArray();
            foreach(char s in attrs)
            {
                Console.WriteLine(s);
            }

 

ToCharArray()方法是将字符串解析成一个由CHAR组成的数组。

ToLower(),ToUpper()分别是将字符改为小写或大写。

Trim():删除空格或指定的字符

 char[] trimChars = { ' ','e','s'};
            string str = "yeeees";
            Console.WriteLine(str.Trim(trimChars));
            Console.ReadKey();

输出:y

将字符中的e,s去掉了。

 

 

 

C#中的引用参数和值参数(这点和JAVA不同)

例如:

             int i = 5;
            showDouble2(5);
            Console.WriteLine(i);
            Console.ReadKey();

 

 static void showDouble2( int val)
        {
            val += 2;
            Console.WriteLine(val);
        }

 

结果是:7,5,这是跟JAVA相同的。

C#中提供了另一种写法:

 int i = 5;
            showDouble1(ref i);
                      Console.WriteLine(i);
            Console.ReadKey();
        }
        static void showDouble1(ref int val)
        {
            val += 2;
            Console.WriteLine(val);
        }

他的意思是,将I传入方法中,并且要改变I的值,所以采用参数为ref.

使用REF的条件:

1.不能用CONST修饰属性。

2.不能没有属性的默认值。

3.在调用有REF的方法时,只能是变量名,不能是数字。例如例子中在调用的时候,只能写I,而不能写5.

 

 C#的函数还可以定义输出参数,意思是一个函数可以有两个返回值

 string var;
            string str = getValue("wu",out var);
            Console.WriteLine(str);
            Console.WriteLine(var);
            Console.ReadKey();
        }
        static string getValue(string str1,out string str2)
        {

            str2 = "tuping";

            return "hello "+str1;
        }
      

输出:hello wu

         tuping

第一个参数是函数的返回值,第二个参数是函数的输出值。

未赋值的变量用作REF是非法的,但可以把未赋值的变量用作OUT参数。

 

委托:委托的申明非常类似于函数,但不带函数体,且要使用delegate关键字,委托的声明指定了一个返回类型和易个参数列表。

例如:

class Program
    {
       public string str = "fengyun";
       delegate void Process(double var1, double var2);
        static void Main(string[] args)
        {
           

           Process process = new Process(add);
           process(2.0d, 10d);

          //先NEW一个,然后再执行,NEW的时候,参数是放函数名。
            Console.ReadKey();
        }

        static void mul(double var1,double var2)
        {
            Console.WriteLine(var1-var2);
        }
        static void add(double var1, double var2)
        {
            Console.WriteLine(var1 + var2);
        }

注意, delegate void Process(double var1, double var2);
代码要定义在Main方法以外。

 

分享到:
评论

相关推荐

    周立功CAN卡 C#二次开发

    周立功CAN卡的C#二次开发涉及到以下几个关键知识点: 1. **CAN总线协议**:CAN是一种多主通信网络,采用短帧结构,支持实时性要求高的应用。其通信协议包括CAN2.0A、CAN2.0B以及CAN-FD等,其中2.0B支持最大数据长度...

    基于c#二次开发CAD

    以上是对"基于C#二次开发CAD"项目的核心技术点的概述,这些知识点对于学习和实践CAD软件的定制化开发具有很高的参考价值。通过深入理解和应用,开发者可以创建出更高效、更个性化的CAD解决方案。

    C#二维三维图形绘制 工程实例宝典

    《C#二维三维图形绘制 工程实例宝典》是一本深入探讨C#在图形绘制领域的专业书籍,主要涵盖了从二维到三维图形的创建、编辑和应用。这本书以丰富的工程实例为引导,帮助读者理解并掌握C#在图形编程中的核心技术和...

    AUTOCAD C#二次开发

    ### AUTOCAD C#二次开发知识点总结 #### 一、AUTOCAD二次开发概述 - **定义**: AUTOCAD二次开发是指在AUTOCAD的基础上,利用AUTOCAD提供的API接口或者开发工具,对AUTOCAD的功能进行扩展或定制,以满足特定需求的...

    C#二次开发之海康威视摄像机登录、预览、截图编程

    总结来说,C#二次开发海康威视摄像机涉及的知识点包括:C#基础、网络编程、图像处理、SDK接口调用、异步编程、异常处理和代码调试等。熟练掌握这些技能,不仅能够完成海康威视摄像机的定制功能,还能为其他类似设备...

    peak can C#二次开发.rar

    标题中的"Peak Can C#二次开发.rar"表明这是一个关于使用C#语言进行PEAK CAN(控制器局域网)系统的上位机二次开发项目。PEAK CAN系统通常用于汽车诊断、自动化测试、数据采集等领域,它提供了接口和软件工具,允许...

    C#二维三维图形绘制工程实例宝典光盘(源码)

    本资源集合了丰富的C#二维和三维图形绘制工程实例,旨在帮助开发者深入理解和掌握相关技术。 在2D图形绘制方面,C#通常使用GDI+(Graphics Device Interface Plus)或更现代的Windows Presentation Foundation (WPF...

    C#二次开发海康威视所需dll文件

    在这个场景下,“C#二次开发海康威视所需dll文件”指的是使用C#语言,通过调用海康威视提供的DLL动态链接库文件来实现与设备的交互。 DLL(Dynamic Link Library)文件是Windows操作系统中的一个重要组成部分,它...

    C#二维三维图形绘制工程实例宝典及其源码

    "C#二维三维图形绘制工程实例宝典"是一本深入探讨这一主题的书籍,它提供了丰富的实例和源代码,帮助读者掌握图形绘制的核心技术和实践方法。 首先,我们要理解C#中的图形绘制基础。C#标准库.NET Framework提供了...

    64位机进行C#二次开发调用DLL(使用PCOMM控件)实现方法.doc

    ### 64位机进行C#二次开发调用DLL(使用PCOMM控件)实现方法 #### 一、概述 随着计算机硬件的发展,64位操作系统已成为主流,越来越多的应用程序选择在64位平台上运行以充分利用其优势。在进行C#应用程序的二次...

    C#二维三维图形绘制工程实例宝典 / 伍逸著

    本书全面和详细地阐述了C#图形设计方面的技术,还专门列举了许多C#二维三维图形绘制的工程实例,所以可称为C#图形处理方面的一本宝典。  本书分为五个部分共10章,第一部分介绍C#基本的数据类型和图形基础技术,第...

    C#二维三维图形绘制工程实例宝典

    《C#二维三维图形绘制工程实例宝典》是一本深入探讨使用C#语言进行图形绘制的专著,尤其关注在实际工程应用中的实践技巧。这本书不仅涵盖了基础的二维图形绘制,还延伸到了复杂的三维图形处理,是C#开发者提升图形...

    Halcon结合C#二次开发读取图片并处理图片

    Halcon结合C#二次开发读取图片并处理图片,详细介绍联合开发教程,以及代码演示

    C# 二进制数据写入文本

    在C#编程中,处理二进制数据并将其写入文本文件是一项常见的任务,尤其是在音频处理、数据存储或网络通信等领域。"PCMtoWAV"这个文件名暗示我们可能涉及的是将PCM(脉冲编码调制)音频数据转换为WAV格式的文件。下面...

    C#二进制图片的存储或读取

    在C#编程语言中,这种操作是通过读取和写入二进制流来实现的。本文将深入探讨如何在C#中进行二进制图片的存储和读取,并结合SQL Server数据库进行操作。 首先,让我们了解二进制流的基本概念。二进制流是计算机处理...

    C#二维数组双线性插值算法

    C#的二维数组双线性插值算法。 用于二维数组的双线性插值算法,可分别设置长度和宽度。

    佳博标签热敏打印机C#二次开发源码

    在本文中,我们将深入探讨如何使用C#进行佳博(Gprinter)标签热敏打印机的二次开发,基于提供的源码实现标签打印功能。首先,我们要理解C#编程语言在Windows环境下的应用,以及如何与硬件设备如打印机进行交互。 1...

    C#二维三维图形绘制工程实例宝典 随书光盘

    第四部分 c#中应用微软office的excel实现各种二维及三维图形 第9章 应用程序中的excel图表 600 9.1 excel和c#间的互操作 600 9.2 c#应用程序中的excel图表示例 602 9.2.1 excel图表对象模型 602 9.2.2 创建独立...

Global site tag (gtag.js) - Google Analytics