- .NET Framework : 4.7.2
- IDE : Visual Studio Community 2019
- OS : Windows 10 x64
- typesetting : Markdown
- blog : xinshaopu.blog.csdn.net
基础
code
using System;
namespace ConsoleApp
{
class MyClass
{
public int a = 5;
// 这个函数很有意思!
public void Hello(MyClass my)
{
my.a = 3;
a = 4; // 这行代码,到底改的是哪个a
Console.WriteLine(a);
}
}
class Program
{
static void Main(string[] args)
{
var a = new MyClass();
a.Hello(a);
var b = new MyClass();
Console.WriteLine(b.a);
Console.ReadKey();
}
}
}
result
4
5
思考与尝试
code
using System;
namespace ConsoleApp
{
class MyClass
{
public int num = 5;
public void Hello(MyClass my)
{
my.num = 3;
// 原来以为这句话相当于构造函数 my.num=4
num = 4;
Console.WriteLine(num);
}
}
class Program
{
static void Main(string[] args)
{
var a = new MyClass();
a.Hello(a);
Console.WriteLine(a.num);
var b = new MyClass();
Console.WriteLine(b.num);
Console.ReadKey();
}
}
}
result
4
4
5
使用ILSpy查看(C#)
使用ILSpy查看(IL)
使用ILSpy查看(IL with C#)
- 注意看 // my.num=3 和 // num=4下面的代码
resource
- [文档] docs.microsoft.com/zh-cn/dotnet/csharp
- [规范] github.com/dotnet/docs/tree/master/docs/standard/design-guidelines
- [源码] referencesource.microsoft.com
- [ IDE ] visualstudio.microsoft.com/zh-hans
- [.NET Core] dotnet.github.io
感恩曾经帮助过 心少朴 的人。
C#优秀,值得学习。.NET Core具有跨平台的能力,值得关注。
Console,WinForm,WPF,ASP.NET,Azure WebJob,WCF,Unity3d,UWP可以适当地了解。
注:此文是自学笔记所生,质量中下等,故要三思而后行。新手到此,不可照搬,应先研究其理象数,待能变通之时,自然跳出深坑。