C#_dailylife01

本文展示了C#中如何进行字符串转义字符的处理,以及格式化输出。同时,介绍了泛型类`myArrayList<T>`的定义和使用,包括构造函数和方法。此外,还讨论了结构体`Books`的定义和操作,以及委托的概念和应用,通过`MyDelegate`展示了如何存储和调用函数引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//屏蔽掉转义字符的作用
string s1 = @"helloworld\nhello"; 

//格式化字符
int a=0,b=1;
string c="hello";
Console.WriteLine("{0}+{1},{2}", a, b, c);
Console.WriteLine("{0}+{0},{2}", a, b, c);//多次定位,b不被用到

格式化符根据序号一一对应。

泛型定义

public class myarraylist<T>
		{
			public T[] array;
			public myarraylist(int size)
			{
				array = new T[size+1];
			}
			public void setarray(T value,int index)
			{
				array[index] = value;
			}
			public T findarray(int indxex)
			{
				return array[indxex];
			}
		}

public static main(string args[])
{
    		  myarraylist<int> array = new myarraylist<int>(5);
				for(int  i = 0; i < 5; i++)
				{
					if(i%2 == 0) arg
					{
						array.setarray(2 * i, i);
					}
					else
					{
						array.setarray(i, i);
						Console.WriteLine(array.findarray(i));
					}
					
				}
				Console.ReadLine();

}

c#风格的字符串

结构体

struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;

 //也可以定义函数
    public void setValues(string t, string a, string s, int id)
   {
      title = t;
      author = a;
      subject = s;
      book_id =id;
   }
   public void display()
   {
      Console.WriteLine("Title : {0}", title);
      Console.WriteLine("Author : {0}", author);
      Console.WriteLine("Subject : {0}", subject);
      Console.WriteLine("Book_id :{0}", book_id);
   }
};  
public static void main(string[] agrs)
{
      Books book1;
      Books book2;
      /* book 1 详述 */
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali";
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6495407;


      Book1.setValues("C Programming",
      "Nuha Ali", "C Programming Tutorial",6495407);

      /* book 2 详述 */
      Book2.setValues("Telecom Billing",
      "Zara Ali", "Telecom Billing Tutorial", 6495700);

      /* 打印 Book1 信息 */
      Book1.display();
}

委托,类似C++函数指针

委托

在实际项⽬中更能体会作⽤,这⾥先了解基本使⽤。
委托(delegate)是⼀种存储函数引⽤的类型。
委托的定义指定了⼀个返回类型和⼀个参数列表
定义了委托之后,就可以声明该委托类型的变量,接着就可以把⼀个**返回类型跟参数列表跟委托 **
⼀样的函数赋值给这个变量。
委托的使⽤分两步
定义
声明(变量)
结构体,枚举的使⽤同上都分为定义和声明
整数类型、数组类型、字符串类型都是直接声明变量的,因为类型的定义已经完成了(CLR中已
经完成定义)
委托呢,就是⼀个函数类型,可以把⼀个函数赋值给委托类型。
定义委托的时候,跟函数有点像,只不过没有函数体。
只能赋值-参数和返回值⼀样的函数

    		delegate double MyDelegate(double param1, double param2);

			static double Multiply(double param1, double param2)
			{
				return param1 * param2;
			}

			static double Divide(double param1, double param2)
			{
				return param1 / param2;
			}

			double param1 = 34; double param2 = 2;


			MyDelegate de;

			de = Multiply;
			de(param1, param2);

			de = Divide;
			de(param1, param2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值