草庐IT

MySQL:多张表还是一张多列的表?

全部标签

c# - 使用 RX 的最佳实践——返回一个 Observable 还是接受一个 Observer?

使用ReactiveExtensions,我可以想出多种方法来模拟具有副作用/IO的操作-比如从聊天室订阅消息。我可以接受参数(比如聊天室)和一个Observer,返回一个Disposable,即DisposableSubscribeTo(stringchatRoom,Observerobserver)或者在给定参数的情况下返回一个Observable,即ObservableGetObservableFor(stringchatRoom)当返回一个Observable时,我还可以选择将其设置为“热”或“冷”,即在调用我的方法时或在订阅observable时执行实际订阅。此外,我可以使o

c# - 我们应该扩展 Comparer<T> 还是实现 IComparer<T>

在编写比较器类时,从4.0版开始的C#中的最佳实践是什么:一个。我们应该继承Comparer抽象类吗?或我们是否应该实现IComparer接口(interface)。有什么优点和缺点? 最佳答案 我建议您扩展Comparer类而不是实现IComparer界面,与Microsoft一样(参见下面的第一个引用资料)。现在,如果您希望您的对象本身(无论T是什么)能够与自身进行比较,它可以实现IComparable接口(interface)(参见下面的第二个引用)。发件人:http://msdn.microsoft.com/en-us/li

c# - 如何使用反射在泛型类型中动态确定属性属于基类还是子类?

我有以下两个类(模型),一个是基类,另一个是子类:publicclassBaseClass{publicstringBaseProperty{get;set;}}publicclassChildClass:BaseClass{publicstringChildProperty{get;set;}}在应用程序中,我使用泛型动态调用ChildClassListpropertyNames=newList();foreach(PropertyInfoinfointypeof(T).GetProperties()){propertyNames.Add(info.Name);}在这里,在prope

c# - 锁定对 bool 的访问是必需的还是 Overkill

我有一个主要设计为POCO类的类,有各种线程和任务可以读取它的值,只有其他人只是偶尔更新这些值。这似乎是ReaderWriterLockSlim的理想方案。问题是,在类中,如果需要线程安全的属性,如果属性是bool,是不是有点大材小用了?如果它是一个int会怎样?日期时间?publicclassMyClass{privatebool_theValue=false;privateReaderWriterLockSlim_theValueLock=newReaderWriterLockSlim();publicboolTheValue{get{boolreturnVal=false;try

c# - 我应该抛出自己的 ArgumentOutOfRangeException 还是让一个气泡从下面向上冒?

我有一个包装List的类我有通过索引方法获取值:publicRenderedImageInfoGetValue(intindex){list[index].LastRetrieved=DateTime.Now;returnlist[index];}如果用户请求超出范围的索引,这将抛出ArgumentOutOfRangeException。我应该让这种情况发生,还是检查它然后扔掉我自己的?即publicRenderedImageInfoGetValue(intindex){if(index>=list.Count){thrownewArgumentOutOfRangeException(

c# - 没有参数的 Event 应该定义自己的自定义 EventArgs 还是简单地使用 System.EventArgs?

我有一个当前定义的没有事件参数的事件。即它发送的EventArgs是EventArgs.Empty。在这种情况下,最简单的方法是将我的事件处理程序声明为:EventHandlerMyCustomEvent;我不打算向该事件添加任何事件参数,但将来可能需要更改任何代码。因此,我倾向于让我的所有事件始终创建一个从System.EventArgs继承的空事件参数类型,即使当前不需要事件参数。像这样:publicclassMyCustomEventArgs:EventArgs{}然后我的事件定义变成如下:EventHandlerMyCustomEvent;所以我的问题是:定义我自己的MyCus

c# - 字典、列表还是数组?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在编写一项性能至关重要的服务,但我不确定什么是最快的。我有几个对象(50-200),每个对象都有一个ID(整数,例如84397或23845)。拥有一个字典、一个键值对列表或一个索引设置为ID的列表,其余的具有空值或具有相同想法的数组会更快吗?

c# - 多列上不区分大小写的组

无论如何做一个LINQ2SQL查询做类似的事情:varresult=source.GroupBy(a=>new{a.Column1,a.Column2});或varresult=fromsinsourcegroupsbynew{s.Column1,s.Column2}intocselectnew{Column1=c.Key.Column1,Column2=c.Key.Column2};但忽略分组列内容的大小写? 最佳答案 您可以将StringComparer.InvariantCultureIgnoreCase传递给GroupBy扩

c# - .net 中的垃圾收集器是系统范围的还是应用程序范围的?

在与同事的讨论中,我怀疑.net中的垃圾收集器是在系统范围内工作还是在应用程序范围内工作。意味着如果每个应用程序都有自己的GC那么它会影响系统性能吗?我对此有点困惑。 最佳答案 每个进程都有自己的托管堆,将单独收集。没有系统范围的堆,所以不可能有系统范围的GC。(如果您在同一个进程中运行多个CLR,它们每个也会有自己的GC。不过这种情况非常罕见。) 关于c#-.net中的垃圾收集器是系统范围的还是应用程序范围的?,我们在StackOverflow上找到一个类似的问题:

c# - 我应该将电话号码存储为字符串还是整数?

这个问题在这里已经有了答案:What'stherightwaytorepresentphonenumbers?(9个回答)关闭9年前。我正在尝试决定是将电话号码存储为string还是int。有什么想法吗?