一个C#初学者的学习心得体会 本文关键词:初学者,学习心得体会
一个C#初学者的学习心得体会 本文简介:一个C#初学者的学习心得体会1.多看多写看一下别人写的代码,会养成一个好的编程习惯。但更重要的是,要看一下比较成熟的代码。2.多编多敲看了代码,就要写代码,,可以跟他们相同。这是了解他们的代码,也了解代码的执行过程。特别是在编译的时候,你会发现你的进步和不足。在失败中取得微小的成功,是一件很快乐的事
一个C#初学者的学习心得体会 本文内容:
一个C#初学者的学习心得体会
1.多看多写
看一下别人写的代码,会养成一个好的编程习惯。但更重要的是,要看一下比较成熟的代码。
2.多编多敲
看了代码,就要写代码,,可以跟他们相同。这是了解他们的代码,也了解代码的执行过程。特别是在编译的时候,你会发现你的进步和不足。在失败中取得微小的成功,是一件很快乐的事情。
在敲代码的时候,你会发现,你的很多英文都会输入错误。尽量多用“.”这个神奇的点,实质就是调用。
3.简单编程
不要一开始就是很困难、好多行的代码。这样你的自信心会被削弱的。自尊会被打击的。从最基本的学起。
从一开始就慢慢体会代码重复利用的快乐。毕竟这样很节省代码的输入量,而且很能体现你的学习的效果。
4.多多交流
也许很简单的问题,都是一些很简单的属性设置的问题,或许一些你很想不到的边边角角的问题,你总是会感到迷茫,但是,不要担心,你要充分利用帮助文件和网络的资源。
特别是,在学习C#的时候,很多人,很懒得安装MSDN,确实,那些占用很多空间。但那里面有很多好东西,会教你很多的属性的资料和很多方法。
通过网络的搜索,很会找到很多有关的话题的解决方法,很多你遇到的问题,很有可能,早就被人发现和被人解决。你会在寻找问题的答案中,获得进步。发现问题和解决问题本身,就是一大进步。
5.发现新思路
编程最麻烦的就是套用老方式和老办法。你可以充分利用现有的对象,进行细化和增加新的属性。创新是编程最大的灵感。
6.编程模式
编程归根结底就是对控件属性的修改的过程,使之符合我们的需要。控件也叫做对象,你跟用户最直接的接触方式。修改的过程也就是函数的应用。
通过对现有的控件的学习,你会发现,这些很基本,但是覆盖的面十分的宽广。也许,这些控件可能无法满足你的需要,你就会新建新的控件,来满足新的需要。
但是,基本的控件你是必须要掌握的。
7.善于总结
在总结中,你会发现,你有很大的进步,也存在很多的不足。所以,你就会千方百计的改进你的工作方式和学习方法,使之不断进步。
编程本身是一项创造性的工作。灵感来自客户的需要,来自市场的需要,来自用户的便捷操作,来自您对自己的信心。
8.创造完美
完美是合作的结晶。通过团队的努力奋斗,你会发现你的工作量减少了,你的质量提高了,你的效率提升了,你的能力增强了。
更重要的事,从你组织和分配中获得的成功,会让你获得鼓励,在今后的编程生活中,体验编程的快乐,从自己做起,分享自己的快乐,从团队合作做起。
总之,自己一直是一位初学者,有很多专业的概念,我还是很不明白,这次,我通过编程实训,使我了解了很多,学习了很多。
篇2:C#实验1报告-福建农林大学
C#实验1报告-福建农林大学 本文关键词:福建,农林,实验,报告,大学
C#实验1报告-福建农林大学 本文简介:实验报告学院:计算机与信息学院专业:计算机科学与技术年级:12级姓名:陈锦灿学号:3126010067实验室号:__田C513_计算机号:实验日期:2014年11月25日指导教师签字:成绩:报告退发(订正、重做)实验一类与对象一、实验目的:1、掌握类的成员设计。2、掌握属性的定义及使用。3、掌握索引
C#实验1报告-福建农林大学 本文内容:
实
验
报
告
学院:
计算机与信息学院
专业:
计算机科学与技术
年级:
12级
姓名:
陈锦灿
学号:
3126010067
实验室号:__田C513_
计算机号:
实验日期:
2014
年
11
月
25
日
指导教师签字:
成绩:
报告退发
(订正
、
重做)
实验一
类与对象
一、实验目的:
1、掌握类的成员设计。
2、掌握属性的定义及使用。
3、掌握索引器的定义及使用。
二、实验内容:
1、编写一个简单的英汉电子词典程序。能够将用户输入的英文单词翻译成相应的中文。假设一个英文单词的中文释义有多个。
要求如下:
(1)定义单词类Word,相关成员如下图所示。
(2)定义词典类Dictionary,相关成员如下图所示。在Dictionary类中定义一个索引器。该索引器能根据英文单词,返回中文释义。如果词典中无该单词,则提示“该单词无对应的中文释义!”。
(3)定义Test类,在其Main方法中,接收用户输入的英文单词,完成相应中文释义的查找及输出。下图为某次查询的输出结果。
2、整数集合是由多个不同的整数构成。请定义Set类,求两个整数集合的并集和交集。编程时,集合的元素保存在一个一维数组中。
要求如下:
(1)
在Set类中,定义私有的int型数组变量setA和setB,用于保存两个待求并集和交集的整数集合。
(2)
在Set类中定义构造方法。
(3)
在Set类中定义属性SetA和SetB。在set访问器中,提供参数合法性检查的代码,以保证成员变量setA和setB中的元素不重复。
(4)
在Set类中定义私有方法private
bool
IsRepeated(int[]
array),判断参数array中是否存在重复元素。
(5)
在Set类中定义私有方法private
bool
IsInSetA(int
element),判断集合SetA中是否存在元素element。
(6)
在Set类中定义GetUnion方法,返回两个集合的并集。
(7)
在Set类中定义GetIntersection方法,返回两个集合的交集。
(8)
定义Test类,在其Main方法中,完成相关测试。
三、实验环境
Visual
Studio
2008
四、实验步骤
1.
英汉电子词典程序
using
System;
class
Word
{
private
string
english;
private
string[]
chinese;
public
Word(string
english,string[]
chinese)
{
this.english
=
english;
this.chinese
=
chinese;
}
public
string[]
Chinese
{
get
{
return
chinese;
}
}
public
string
English
{
get
{
return
english;
}
}
}
public
class
Dictionary
{
private
Word[]
words;
public
Dictionary()
{
words
=
new
Word[]{
new
Word(“computer“,new
string[]{“计算机“,“电脑“}),new
Word(“news“,new
string[]{“新闻“,“消息“,“报导“}),new
Word(“translation“,new
string[]{“翻译“,“译文“,“转变“}),new
Word(“radio“,new
string[]{“无线电“,“收音机“})
};
}
public
string[]
this[string
english]
{
get
{
for(int
i
=
0;
i
<
words.Length;
i++)
{
if(words[i].English.equals[english])
return
words[i].Chinese;
}
return
new
string[]{“该单词无对应的中文释义!“};
}
}
}
class
Test
{
public
static
void
Main()
{
Dictionary
dic
=
new
Dictionary();
bool
ifContinue
=
true;
while
(ifContinue)
{
Console.Write(“请输入需要翻译的英文单词:“);
string
word
=
Console.ReadLine().ToLower();
string[]
meanings
=
dic[word];
foreach
(string
str
in
meanings)//输出查询结果
{
Console.WriteLine(str);
}
Console.WriteLine(@“是否继续?Y=
继续
,其他键=
退出查询
“);
if
(Console.ReadLine().ToLower()
==
“y“)
{
ifContinue
=
true;
}
else
{
ifContinue
=
false;
Console.WriteLine(“您选择了退出查询!“);
}
}
Console.ReadKey();
}
}
2.
求两个整数集合的并集和交集
using
System;
class
Set
{
private
int[]
setA;//整数集合1
private
int[]
setB;//整数集合2
public
Set(int[]
setA,int[]
setB)
{
//【代码一】:实现构造方法
SetA
=
setA;
SetB
=
setB;
}
public
int[]
SetA
{
//【代码二】:实现属性SetA
get
{
return
setA;
}
set
{
if(!IsRepeated(value))
setA
=
value;
}
}
public
int[]
SetB
{
//【代码三】:实现属性SetB
get
{
return
setB;
}
set
{
if(!IsRepeated(value))
setB
=
value;
}
}
//判断数组array中是否存在重复元素
private
bool
IsRepeated(int[]
array)
{
//【代码四】
for(int
i
=
0;
i
<
array.Length;
i++)
{
for(int
j
=
i+1;
j
<
array.Length;
j++)
{
if(array[i]
==
array[j])
return
true;
}
}
return
false;
}
//判断集合SetA中是否存在元素element
private
bool
IsInSetA(int
element)
{
//【代码五】
foreach(int
temp
in
setA)
{
if(temp
==
element)
return
true;
}
return
false;
}
//求并集
public
int[]
GetUnion()
{
//【代码六】
int
count
=
0;
foreach(int
temp
in
setB)
{
if
(!IsInSetA(temp))
count++;
}
int[]
union
=
new
int[setB.Length
+
count];
for(int
i=0;
i i++) { union[i] = setA[i]; } int index = 0; for(int i=0; i i++) { if (!IsInSetA(setB[i])) { union[setA.Length + index] = setB[i]; index++; } } return union; } //求交集 public int[] GetIntersection() { //【代码七】 int count = 0; int index = 0; foreach (int temp in setB) { if (IsInSetA(temp)) count++; } int[] intersection = new int[count]; for(int i=0; i i++) { if (IsInSetA(setB[i])) { intersection[index] = setB[i]; index++; } } return intersection; } } public class Test { public static void PrintArray(int[] myArray) { foreach (int element in myArray) { Console.Write(“{0}“,element); } Console.WriteLine(); } public static void Main(string[] args) { int[] a = { 2,5,6,8,10 }; int[] b = { 3,4,8,10,20 }; Set set = new Set(a,b); if (set.SetA == null) { Console.WriteLine(“集合A初始化失败!“); } else if (set.SetB == null) { Console.WriteLine(“集合B初始化失败!“); } else { int[] c1 = set.GetUnion(); int[] c2 = set.GetIntersection(); Console.WriteLine(“集合a:“); PrintArray(a); Console.WriteLine(“集合b:“); PrintArray(b); Console.WriteLine(“并集:“); PrintArray(c1); Console.WriteLine(“交集:“); PrintArray(c2); } Console.ReadKey(); } } 五、实验调试与结果分析 六、总结