试图在这里运行一个项目的运行代码分析,并得到一些警告说,像这样:
CA1002:Microsoft.Design:在' SomeClass.SomeProtectedOrPublicProperty '中更改'List < SomeType > '以使用Collection,ReadOnlyCollection或KeyedCollection
我为什么要用Collection<T>
而不是List<T>
?当我查看msdn文档时,它们看起来几乎相同.在阅读了警告的错误帮助后,我发现了
System.Collections.Generic.List(T)_是一个通用集合,专为性能而非继承而设计,因此不包含任何虚拟成员.
但这究竟意味着什么呢?我应该做什么呢?
我应该继续在List<T>
内部使用,然后在属性中返回一个new Collection<T>(someList)
而不是?或者我应该开始使用Collection<T>
而不是List<T>
?
我不关心编码和东西,只要我找回完全相同的字节数组.
总结一下:如何将字节数组转换为字符串,然后将该字符串转换回我开始使用的相同字节数组?
要删除表中的所有行,我目前正在执行以下操作:
context.Entities.DeleteAllOnSubmit(context.Entities);
context.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
然而,这似乎需要很长时间.有更快的方法吗?
这些是你可以添加到项目中的三个不同的东西,我不太确定我是否理解这些差异.例如,在使用a时,它们似乎都显示在组件工具箱中Form
.每种方法有哪些常见的使用方案?有什么不同?
我可以使用此命令递归获取所有子项:
Get-ChildItem -recurse
Run Code Online (Sandbox Code Playgroud)
但有没有办法限制深度?例如,如果我只想降低一个或两个级别?
有没有办法覆盖C#中的返回类型?如果是这样,如果不是为什么以及推荐的做法是什么?
我的情况是我有一个抽象基类的接口及其后代.我想这样做(确实不是,但作为一个例子!):
public interface Animal
{
Poo Excrement { get; }
}
public class AnimalBase
{
public virtual Poo Excrement { get { return new Poo(); } }
}
public class Dog
{
// No override, just return normal poo like normal animal
}
public class Cat
{
public override RadioactivePoo Excrement { get { return new RadioActivePoo(); } }
}
Run Code Online (Sandbox Code Playgroud)
RadioactivePoo
当然继承自Poo
.
我想要这样做的原因是,那些使用Cat
对象的人可以使用该Excrement
属性而不必Poo
投入RadioactivePoo
,例如,Cat
仍然可能是Animal
列表的一部分,用户可能不一定知道或关心他们的放射性便便.希望有意义......
据我所知,编译器至少不允许这样做.所以我想这是不可能的.但是你会推荐什么作为解决方案呢?
我正在运行Apache/2.2.11 (Win32) PHP/5.3.0
,我在.htaccess文件中执行了以下操作:
SetEnv FOO bar
Run Code Online (Sandbox Code Playgroud)
如果我$_ENV
在PHP文件中打印出变量,我会得到一个空数组.为什么我的环境变量不会出现在那里?为什么它首先是空的?
我确实找到了我的变量,但它出现在$_SERVER
变量中.由于某种原因,它出现了两次,有点像.为什么是这样?
[REDIRECT_FOO] => bar
[FOO] => bar
Run Code Online (Sandbox Code Playgroud)
看来我可以使用它getenv('FOO')
,所以也许我应该使用它.但我仍然对导致这种情况的原因感到好奇.这是一个Windows问题吗?或者发生了什么?
DateTime
在Excel 中表示的最佳方法是什么?我们使用Syncfusions Essential XlsIO将值输出到Excel文档,该文档非常有用.但我无法弄清楚如何DateTime
在列中显示.不是直接在Excel中自己做的.这不可能吗?我是否必须使用单独的日期和时间列?我真的希望我没有,因为它有点打破排序等...除非Excel有一些聪明的事情来解决这个问题......
通过阅读这篇文章,我发现有一些"无效"和"无效"输入值的伪类.
有没有办法可以将输入字段标记为javascript中的无效/有效?或者,我可以覆盖使用的验证方法吗?
c# ×5
apache ×1
bytearray ×1
collections ×1
components ×1
controls ×1
covariance ×1
css ×1
datetime ×1
delete-row ×1
excel ×1
html ×1
inheritance ×1
javascript ×1
linq-to-sql ×1
overriding ×1
php ×1
powershell ×1
string ×1
terminology ×1
types ×1
validation ×1
winforms ×1