C# 5.0入门经典配套源代码

自学的头三章还算顺利,基本上课后练习什么的靠自己就能搞定。第四章的课后练习突然冒出来让修改示例代码(p.77),搞得我一头雾水。猜测应该有配套光盘或者配套下载什么的,最终在封底找到一行小字:
读者可通过www.ptpress.com.cnhttp://vdisk.weibo.com/s/zp3n73NBke3A5下载本书的所有源代码。
第一个链接是人民邮电出版社的网址,在资源下载栏目根本找不到。第二个链接是新浪微盘。点了下载按钮却没有反应,似乎是赶上了这波网盘关闭对外分享的大潮,下载功能被停止了。在网上搜了半天也没搜到相同的文件,同名文件大都是原书的扫描PDF。最终还是下载成功了,考虑到未来可能还会有人购买这本书,在这里分享一下可以下载得到的位置。

  1. 这是我自己下载并转存到Evernote上的:
    C# 5.0入门经典
    ISBN 9787115344236
    http://www.evernote.com/l/AARAz55RmdFLr7cZTx-bux2dP27WTzaaTCI/
  2. 或者也可以到这本书的英文原版出版社官网下载,下载链接在页面下方的Downloads标签内,内容是一样的:
    Sams Teach Yourself C# 5.0 in 24 Hours
    http://www.informit.com/store/sams-teach-yourself-c-sharp-5.0-in-24-hours-9780672336843

 

C#学习笔记1:属性和方法

拖延了半年时间终于再度拾起之前的C#,埋头自学起来。
跟着中文版的Sams Teach Yourself C#5.0的教程 慢慢学下来,虽然没有书上说的24小时就能成功那样神速,倒也学得不亦乐乎。
书中第4章里的属性和方法小节有道题目(p.67),一开始无论如何不知道是如何实现(去年在MVA上自学的课程基本上算还给那个老外了)。还好有Google,在我耐着性子(其实快想掀桌了(╯-_-)╯╧╧)尝试各种搜索之后,居然找到了CSDN上有人跟我看同一本书,并把实现的方法写了出来。方法并不复杂,可见我的编程素养还近乎是零啊。
代码如下
Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;
namespace ConsoleHelloWorld
{
class Program
{
static void Main(string[] args)
{
Contact c = new Contact();
Console.WriteLine(c.ToString());
c.FirstName = "Jim";
c.LastName = "Morrison";
c.DateOfBirth = new DateTime(1943, 12, 8);
Console.WriteLine(c.ToString());
c.Search(37.479444f, -122.450278f);
c.Search(37.479444f, -122.450278f, 50);
c.Search(37.479444f, -122.450278f, 50, "en");
Console.WriteLine(c.VerifyEmailAddress("[email protected]"));
Console.WriteLine(c.VerifyEmailAddress("[email protected]"));
}
}
}

Contact.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleHelloWorld
{
class Contact
{
private DateTime dateOfBirth;
public DateTime DateOfBirth
{
get
{
return this.dateOfBirth;
}
set
{
this.dateOfBirth = value;
}
}
public string FirstName  //自动实现的属性
{
get;
set;
}
public string LastName
{
get;
set;
}
public string FullName  //计算得到的属性
{
get
{
return FirstName + " " + LastName;
}
}
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendFormat("Name: {0}rn", FullName);  //使用计算得到的属性
stringBuilder.AppendFormat("Date of Birth: {0}rn", this.dateOfBirth);
return stringBuilder.ToString();
}
public bool VerifyEmailAddress(string emailAddress)
{
return emailAddress == "[email protected]";
}
public void Search(float latitude, float longitude)
{
Search(latitude, longitude, 10, "en-US");
}
public void Search(float latitude, float longitude, int distance)
{
Search(latitude, longitude, distance, "en-US");
}
public void Search(float latitude, float longitude, int distance, string culture)
{
Console.WriteLine("latitude {0} longitude {1} distance {2} culture {3}", latitude, longitude, distance, culture);
}
}
}