所以我星期一早上开始学习 C#,过去两天我一直在看一个又一个视频,现在我有一些观察,我想知道我的想法是否正确。
我的过去是大约 4 年的大学水平 Java 编程,所以如果需要任何解释并将其引用到 Java 项目是相关的,请随时建立一个心态链接。
我也开始了我的第一个“真正的”应用程序开发实习,所以在我开始从事基于 C# 和 .Net 的项目之前,他们让我在第一周自己学习东西。
任何将不胜感激!
“as”运算符:据我了解,这基本上是一个演员表。所以我可以说
int a; double b; a as b;
这应该相当于(双)a,对吗?
或者
object sender; Label clickedLabel = sender as Label.
这将类似于(标签)发件人,发件人是一个对象,但现在被转换为标签,对吗?
动态型:我对这个的理解,就是它是一个“万物皆可”!类型,表示动态d;可以用作 int、double、object、string 等。它可以应用于任何东西。是/否/某种?
dynamic d =5; int a = d; string b = d; object c = d;
如果这是正确的,这与拳击有什么不同?装箱只是“as”运算符/动态类型,但仅用于对象类型吗?
Integer Literals,它们多久使用一次,在什么场景下使用?我看了他们的一段,他们觉得很奇怪。我将进行应用程序开发,所以如果这些有用,请解释它们的一些日常用途
212 = decimal 215 = decimal unsigned 0xFccL = long hexidecimal (i think) 058 = Illegal as 8 is not an octal digit 05UU = Illegal as a suffix (the u for unsigned) is repeated 30u1 = unsigned long 30u = unsigned int
我只是对这些都将用于应用程序开发类型的地方感到困惑。他们对我来说更像是直接组装交互,但也许这是应用程序开发的一个常见部分(第一次“真正的”实习)
{#} 语法/WriteLine:所以我制作了一些演示应用程序,它们使用的语法类似于..
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
或者
Console.WriteLine("{0}:{1}:{2}", e.Hour.ToString(), e.Minute.ToString(), e.Second.ToString());
据我所知,{0}、{1}、{2} 等...以某种方式将值从集合中提取出来(我认为这不是我实际创造的)。我不确定这被“称为”什么,所以我不知道如何用谷歌搜索它。
有人介意指出我正确的方向吗,因为我发现这是一个非常有用的操作。
可空类型:从我在这里学到的是一个表达式,如
static int? d; if (d.HasValue) { // something }
不会抛出任何错误,因为这将是一个有效的交互,而在 Java 中这会导致某种编译错误。
我相信您还可以设置一个可以为空的类型,并以实例化开头,例如:
int? d = 5;
这将与上面相同,但作为标记为它的 null 属性。
我的问题是,
“Nullable”可以应用于所有类型还是仅应用于某些类型?
您能否为 d 提供一个实际值,但仍使检查返回 null?由于您可以将 null 属性标记为类型,因此我猜测“null”的属性和“value”本身是相互独立地处理/检查的。这是正确还是错误的猜测?(如果需要,我可以尝试更好地解释)
字符串问题!
我们在 C# 中使用字符串是否像在 Java 中使用字符串一样?(大写)
使用子字符串时,为什么这两个字符串返回不同的答案?
string sub = input.Substring(0, 3); //returns index 0-2 string sub = input.Substring(3, 3); //returns index 3-6
可以添加更多...
希望这不是要求太多,我只是想确保我在接下来的几天里尽可能地学习 C#。
如果你们中的任何人都知道一些关于 C# 的好文章/教程/等关于新应用程序开发人员应该知道的内容,请向我指出那个方向。我也有一个 PluralSight 帐户,因此您也可以将我引导到他们的教程。
谢谢,
-奥斯汀