C#学习--基础二

字符串

strging str = "a string"; // 定义一个字符串变量str,将“a string”字符串常量赋值给str
foreach (char character in str){ // 遍历字符串
    Console.WriteLine("{0}", character);
}

char[] chars = str.ToCharArray(); // str对象调用ToCharArray()方法,将str转换成char数组并返回
 // 在字符串的左边拼接字符‘-’,使整个字符串的长度为15
 Console.Write("strT1 padLeft 10:{0}\n", strT1.PadLeft(15, ‘-‘));
 // 在字符串的左边拼接字符‘-’,使整个字符串的长度为15
 Console.Write("strT1 padRight 10:{0}\n", strT1.PadRight(15, ‘-‘));

函数

* 函数的定义和使用:

// 定义一个静态方法,返回值为int类型
static int TestFunc(){
    Console.WriteLine("This is a function");
    return 10;// 返回一个整形
}

static void Main(string[] args)
        {
      // insert code
      TestFunc();// 函数调用
}

// main函数解析
/*
 static 关键字 表示是静态方法,一个类只有一份
 void 返回值,为空
 Main 函数名,一般采用驼峰命名规则
 args 函数参数
*/

// 参数数组
/*C# 允许为函数指定一个(智能一个)特殊参数,这个参数必须是函数的最后一个参数,称为参数数组*/
定义如下:
static <returnType> <FunctionName> (<p1Type><p1Name>, ..., params <type>[] <name>){
...
}

// 引用参数和值参数
/*前面我们使用的都是值参数,在函数里面做的任何事都不会对实参有影响,要想在函数里面就改变实参的值,就要使用 "ref" 关键字*/
static void ShowDouble(ref int val){
    val = val * 10;
}

Main (){
    float a = 10.5f;
    ShowDouble
    Console.WriteLine(ref a); // 控制台将输出105
}

// 输出参数:类似与引用参数使用 out关键字
static void ShowDouble(out int val){
    val = 10;
}
/* ref 和 out的区别:
    1.把未赋值的变量作为ref参数是非法的,但是可以把未赋值的变量作为out参数(实质区别,ref操作的是堆指针,out是栈指针(我是这样理解的))
    2.在函数使用out参数时,必须把它看成是尚赋值

*/

// 变量作用域。这应该和C是一样的。。。

// 结构函数。 就是在结构体里面的函数

// 函数重载。函数允许创建多个同名函数,每个函数可以使用不同的参数类型。意思是同名的函数只要函数签名不一样就没问题;函数签名包含函数名称及其参数

// 委托, 委托是一种存储韩式引用的类型(话说这不是C里面的函数指针吗!)

 // 委托声明:
 delegate double ProcessDel(double param1, double param2)
  // 定义一个委托ProcessDelegate,其返回类型为double,两个double类型参数
// 函数
static double Multipy(double param1, double param2){
     return 10.9;
}

ProcessDelegate process = new ProcessDel(Multipy);// 声明一个ProcessDelegate委托类型的变量

*/
时间: 2024-12-15 06:52:06

C#学习--基础二的相关文章

TP5学习基础二:目录结构、URL路由、数据操作

一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)->不是实时更新更新3.国内的码云和Coding代码托管平台都有ThinkPHP5的镜像 ============================================================================================================

jquery学习基础(二)

今天继续学习jquery的基础.直接看栗子吧. jquery操作checkbox demoOne 这里我点击超链接的时候,使用alert将所有已经checked的checkbox的value值打印出来,先看下效果: 关键的html和jquery代码: <div> <a href="#">获得被选中的元素</a> <input type="checkbox" checked value="111">c

Redis学习基础二

回顾:上一基础中已了解 ( 什么是redis .redis 的三大特点.安装,和数据配置) 接下来浅尝Redis的数据类型,时间煮雨...... 一.Redis数据类型 redis支持五中数据类型(string字符串.hash哈希.list列表.set集合.zset有序集合) (一)String 字符串 1.string 是redis 中最基本的类型,可以理解成与memcached一模一样的类型,一个key对应一个value 2.string 类型是二进制安全的,意思是redis 的string

C++学习基础二——指针与引用的区别

一.指针: (1)如果对指针进行解引用操作 赋值,改变的是指针所指向对象的值:(2)如果不对指针进行解引用操作 赋值,则改变的是指针本身的值:(3)const指针本身的值不能修改,但是const指针所指向对象的值能不能修改取决于其所指向对象是否为const类型. 例如: 代码片段1: string s1("some value"); string *sp1 = &s1;//此时s1的值为“some value”,指针sp1指向s1 string s2("another

Swift 学习 --- 基础&lt;二&gt;

// Playground - noun: a place where people can play import UIKit var str = "Hello, playground" //------------------------- 类和结构体的相同与不同 ------------------------- //************************* // 结构体和类的相同点, 在swift中,struct被强化 // 1. 都可以定义属性 // 2. 定义方法

javascript基础学习(二)

javascript的数据类型 学习要点: typeof操作符 五种简单数据类型:Undefined.String.Number.Null.Boolean 引用数据类型:数组和对象 一.typeof操作符 typeof操作符用来检测变量的数据类型,操作符可以操作变量也可以操作字面量. 对变量或值运用typeof操作符得到如下值: undefined----如果变量是Undefined类型: boolean-------如果变量是Boolean类型: number-------如果变量是Numbe

加壳学习笔记(二)-汇编基础

7.简单的汇编语法:   堆栈平衡  PUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH 操作数 POP 操作数格式: PUSH r PUSH M PUSH data POP r POP mPUSHF,POPF,PUSHA,POPA功能: 堆栈指令群格式: PUSHF POPF PUSHA POPAADD,ADC功能: 加法指令语法: ADD OP1,OP2 ADC OP1,OP2格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data影响标志: C,P,A,

php学习基础-文件系统(二) 文件读写操作、文件资源处理

一.文件的打开与关闭 /* *读取文件中的内容 * file_get_contents(); //php5以上 * file() * readfile(); * * 不足:全部读取, 不能读取部分,也不能指定的区域 * * fopen() * fread() * fgetc() * fgets() * * * * * 写入文件 * file_put_contents("URL", "内容字符串"); //php5以上 * 如果文件不存在,则创建,并写入内容 * 如果

AspectJ基础学习之二搭建环境(转载)

AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可以提供语法检查,以及编译.这里要说一点重要的知识: aspectj不能使用传统的JDK编译,他的编译器扩展自JDK.AJDT提供的编译功能,就为我们省了很多事,当然你也可以用命令行自己去编译(不过我从来没有这么做过). 无论是apsectj的安装,还是AJDT网上还是有很多文章讲的.不会的同学可以自