c#学习笔记

其实我本身对于c#这门语言不是很有兴趣,但是因为学校的实训课程要求使用这门语言所以就只好跟着学习了。经过一周的学习,也学了个大概 以下就做一个学习笔记,方便日后要用的时候回来再看一下。

其实c#和c++有很多类似之处 其基本语法和c++几乎完全一样 下面先说一下和c++的不同之处
首先是 它的输出部分

Console.WriteLine("姓名:{0} 年龄{1}",name,age);

用控制台输出{0} {1}分别代表逗号后面的第几个位置

c#的 foreach循环

  int count = 0;
        foreach (int element in fibarray)
        {
            count += 1;
            System.Console.WriteLine("Element #{0}: {1}", count, element);
        }

对于数组的循环非常好用
c#重载

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

namespace c2
{
    class Complex
    {
        private int real;
        private int imag;
        public Complex(int a = 0,int b = 0)
        {
            real = a;
            imag = b;
        }
       static public Complex operator+(Complex a,Complex b)
        {
           return new Complex(a.real+b.real,a.imag+b.imag);
        }
       static public Complex operator -(Complex a, Complex b)
       {
           return new Complex(a.real - b.real, a.imag - b.imag);
       }
       static public Complex operator -(Complex a)
       {
           return (new Complex(-a.real, -a.imag));
       }
        public void display()
       {
           Console.WriteLine("{0}i+{1}j", real, imag);
       }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Complex x = new Complex(2,-3);
            Complex y = new Complex(-1, 5);
            Complex z;
            z = x + y;
            z.display();
            z = -z;
            z.display();
            z = y - x;
            z.display();
        }
    }
}

其中的基本语法和c++差不多 但是需要用到重载函数要放到static中
并且没有友元函数的重载了。
c++的双目运算符通常都用放到友元函数中间

引用存储的例子

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

namespace c1
{
    class Person
    {
        private string name;
        private int age;
        public Person(string a,int b)
        {
            name = a;
            age = b;
        }
        public void Setname(string a)
        {
            name = a;
        }
        public void Setage(int a)
        {
            age = a;
        }
        public void display()
        {
            Console.WriteLine("姓名:{0} 年龄{1}",name,age);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Person a = new Person("wang", 13);
            Person b;
            a.display();
            b = a;
            b.Setname("tang");
            a.display();
        }
    }
}

引用存储
二者共用一块存储空间
当改变其中一个的值 另一个值也会改变

推荐阅读更多精彩内容