是我还是C#难吗?

维兹·维珀兹

知名会员
已加入
2017年1月16日
留言内容
75
地点
英国
编程经验
1-3
你好,

因此,我一直在为初学者关注这本C#书籍,在我们进入每一章的最后,作者都提出了一些挑战。现在,我对如何应对这些挑战有了一个很好的主意,但我似乎从未完成。我似乎也很容易忘记诸如隐式和显式转换之类的东西。

我想问,是我应该回到起点再重新开始并建立一个更加牢固的基础,还是我会逐渐变得更好?我认为我不是最自然的才华横溢的程序员。

我该怎么办?您是如何学习的,我想听听您的意见。

干杯
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,535
地点
悉尼,澳大利亚
编程经验
10+
要回答标题中的问题,不仅是您,因为C#很难理解,也可能部分原因是您承认您在编程中不是天生的。如果您从未学习过编程,那么同时学习编程概念,.NET概念和C#概念无疑将是一个挑战,对于某些人而言,这将是更大的挑战。根据您的发言,我建议,如果有时间的话,重新开始并重新开始可能是个好主意。很可能您已经沿途捡起了一些东西,甚至没有意识到,所以看起来第一次令人困惑的事情现在会单击,这使其他事情单击,然后当您返回到你现在在哪。

可以帮助或阻碍的一件事是您如何看待事物。编程不是在真空中进行的,并且面向对象的编程特别是基于我们所生活的对象的真实世界。例如,人们通常不了解强制转换的概念以及为什么必须这样做,因此我将其与下列的。假设您是一名兽医,有人将一个盒子带入您的检查室。您是一名兽医,所以您知道它是盒子里的动物,仅此而已。结果,您只能对所有动物采取或为该患者做的事情。如果此人然后告诉您他们的动物是猫,那么您现在就可以合理地进行所有专门用于猫的事情。用C#的话来说,您有一个Animal变量,并将其强制转换为Cat类型。请注意,对象本身从未改变过,即猫一直都是猫。期限"cast"在某种意义上被使用"用不同的眼光投射东西",即以不同的方式看待同一件事。显然,编程不仅限于此,但您可以对现实世界进行类比的越多,事情就越清晰。
 

维兹·维珀兹

知名会员
已加入
2017年1月16日
留言内容
75
地点
英国
编程经验
1-3
要回答标题中的问题,不仅是您,因为C#很难理解,也可能部分原因是您承认您在编程中不是天生的。如果您从未学习过编程,那么同时学习编程概念,.NET概念和C#概念无疑将是一个挑战,对于某些人而言,这将是更大的挑战。根据您的发言,我建议,如果有时间的话,重新开始并重新开始可能是个好主意。很可能您已经沿途捡起了一些东西,甚至没有意识到,所以看起来第一次令人困惑的事情现在会单击,这使其他事情单击,然后当您返回到你现在在哪。

可以帮助或阻碍的一件事是您如何看待事物。编程不是在真空中进行的,并且面向对象的编程特别是基于我们所生活的对象的真实世界。例如,人们通常不了解强制转换的概念以及为什么必须这样做,因此我将其与下列的。假设您是一名兽医,有人将一个盒子带入您的检查室。您是一名兽医,所以您知道它是盒子里的动物,仅此而已。结果,您只能对所有动物采取或为该患者做的事情。如果此人然后告诉您他们的动物是猫,那么您现在就可以合理地进行所有专门用于猫的事情。用C#的话来说,您有一个Animal变量,并将其强制转换为Cat类型。请注意,对象本身从未改变过,即猫一直都是猫。期限"cast"在某种意义上被使用"用不同的眼光投射东西",即以不同的方式看待同一件事。显然,编程不仅限于此,但您可以对现实世界进行类比的越多,事情就越清晰。

那是一个很好解释的概念。我肯定会再次开始写这本书,幸运的是只有17岁,我有一些空闲时间可以花在学习C#上。当我从
a "Try it"在书中练习,但是当我束手无策时,我就会迷路。

谢谢您的帮助
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,052
地点
挪威
编程经验
10+
编写伪代码可以帮助避免"getting lost",伪代码是用您自己的话来规划较小步骤的代码,这些步骤比完整的解决方案更容易转换为真实代码,并有助于专注于手头的编程任务。伪代码可以作为注释保留在代码中,以解释代码应该做什么,供您自己和其他人以后阅读。在解释了数据类型系统和语言结构之后,我认为大多数教学系统都鼓励使用伪代码。当您更有经验时,伪代码可以更精简,例如,我通常先从一个计划开始,然后添加对象存储所需的类型和空成员,其中类型,属性和方法的描述性名称以及注释组成一个解决方案的框架。
 

维兹·维珀兹

知名会员
已加入
2017年1月16日
留言内容
75
地点
英国
编程经验
1-3
编写伪代码可以帮助避免"getting lost",伪代码是用您自己的话来规划较小步骤的代码,这些步骤比完整的解决方案更容易转换为真实代码,并有助于专注于手头的编程任务。伪代码可以作为注释保留在代码中,以解释代码应该做什么,供您自己和其他人以后阅读。在解释了数据类型系统和语言结构之后,我认为大多数教学系统都鼓励使用伪代码。当您更有经验时,伪代码可以更精简,例如,我通常先从一个计划开始,然后添加对象存储所需的类型和空成员,其中类型,属性和方法的描述性名称以及注释组成一个解决方案的框架。

似乎是一个有趣的提示。我确实注释掉了代码的含义,但是我忘记了如何实际使用注释掉的概念。

例如,这就是我注释掉代码的方式:

C#:
  string myString = "This is a string."; // we say what is in our string            
            char[] separator = { ' ' }; // we are saying what a split is.
            string[] myWords;
            myWords = myString.Split(separator); // this turns the string into an array every time it seems that it has a space
            // we are also saying if you happen to meet a seprator then cut the string into arrays
            foreach (string word in myWords) // we use a loop to print it
            {
                Console.WriteLine($"{word}"); // write every individual word at each loop
            }


            Console.ReadKey();

但是,当我真正开始在自己的代码中使用这些功能时,我忘记了如何使用它。
 
最佳 底部