在TypeScript中的方法声明中,参数可以是字符串,布尔值或数字的类型.我是否必须将其声明为任何[],或者是否有办法将输入类型限制为这三种类型?
我有一个名为"ClassA"的超类和两个子类"Class1"和"Class2".
我有一个包含"Class1"和"Class2"对象的列表,该列表的类型为"ClassA".
我想通过做类似的事情来遍历列表中的"Class1"对象
List<ClassA> AList = new List<ClassA>;
AList.Add(new Class1());
AList.Add(new Class2());
foreach (Class1 c1 in AList)
{
// Do Something
}
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,代码在到达不属于"Class1"类型的对象时会抛出异常.
如何以简单的方式完成此操作,而无需检查列表中对象的类型,如果它是正确的类型,则将其强制转换.像这样:
foreach (ClassA cA in AList)
{
if (cA.GetType() == typeof(Class1))
{
// Do Something
}
}
Run Code Online (Sandbox Code Playgroud) 几乎在我的职业生涯中,我一直致力于构建解决方案(为单个客户定制应用程序).现在我的公司正在为大众开发软件,很多包装都在等着我们.
我想问一下许可软件.如何生成序列号和激活号.一般来说,我对许可软件有什么选择.
我意识到这是一个普遍的问题,但它是一个对话启动器.
在Visual Studio 2008下
我可以创建一个扩展方法在.NET Framework 2.0项目下工作吗?
在下面的C#代码片段中,
我在while
循环中有一个' foreach
'循环,我希望在foreach
某个条件发生时跳转到' '中的下一个项目.
foreach (string objectName in this.ObjectNames)
{
// Line to jump to when this.MoveToNextObject is true.
this.ExecuteSomeCode();
while (this.boolValue)
{
// 'continue' would jump to here.
this.ExecuteSomeMoreCode();
if (this.MoveToNextObject())
{
// What should go here to jump to next object.
}
this.ExecuteEvenMoreCode();
this.boolValue = this.ResumeWhileLoop();
}
this.ExecuteSomeOtherCode();
}
Run Code Online (Sandbox Code Playgroud)
' continue
'会跳到' while
'循环的开头而不是' foreach
'循环.这里有一个关键字,或者我应该使用我不喜欢的goto.
我的问题非常简单.我有一个应该每天自动执行一次的应用程序.我之前没有这种情况的经验(前段时间我曾与IBM Control-M合作,但我猜它更完整,更复杂,更昂贵=))
我想到了两种可能的解决方案:
每种方法的优缺点是哪些?
还有另一种方法吗?
提前致谢.
c# ×4
.net ×2
.net-2.0 ×1
continue ×1
foreach ×1
inheritance ×1
javascript ×1
keyword ×1
licensing ×1
typescript ×1
while-loop ×1