小编maf*_*afu的帖子

我应该使这个XmlSerializer静态吗?

我有一个XmlSerializer在其Read/WriteXml方法中使用的类.目前是Serializer private readonly.

public class Foo : IXmlSerializable
{
    private Bar _bar = new Bar();
    private readonly XmlSerializer serBar = new XmlSerializer (typeof (Bar));

    public void WriteXml (XmlWriter writer)
    {
        serBar.Serialize (writer, Bar);
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我正在考虑private static改为使用Serializer ,因此所有Foos之间共享一个实例.这是个好主意,还是有可能存在问题?

c# static instance xml-serialization

20
推荐指数
3
解决办法
6651
查看次数

如何在C#中获得彩虹色渐变?

我想根据彩虹颜色(红色......黄色......绿色......蓝色......)列出颜色.

我基本上看到两种方法:

  1. 创建一个包含一些重要参考颜色的查找表,并在它们之间进行插值.我完全不喜欢这个想法.

  2. 应用一些或多或少花哨的数学.可能更少,但我不太清楚它是如何工作的.有任何想法吗?

(哦,当我做了一些SO研究时,我发现没有好的结果.如果这个问题已经发布,请指出我的位置,我会删除它.)

编辑:我更喜欢这个独立于使用的技术来显示渐变.例如,GetRainbowColor(float f)之类的f(范围从0(红色)到1(紫色))会很有效.

c# gradient colors

20
推荐指数
2
解决办法
3万
查看次数

如何在Eclipse中使用外部makefile

我有一个OpenSource项目的源代码,我从SVN获得.我能够运行autogen - > configure - >并成功(通过终端).但我想用Eclipse构建相同的项目,但我不能手动将这些源文件移植到eclipse中.那么,我如何设置Eclipse以使用外部make文件?谁能帮帮我吗 ?谢谢.

c++ eclipse makefile ubuntu-9.04

19
推荐指数
2
解决办法
5万
查看次数

有没有办法强制使用制表符而不是空格?

StyleCop提供检查空间的一致使用,但遗憾的是缺乏相反的想法:强制源代码使用选项卡.有没有办法添加此功能?它不一定是StyleCop,也欢迎其他工具.

c# stylecop indentation

18
推荐指数
2
解决办法
7570
查看次数

.net终结器总是被执行吗?

终结器是否保证在某些时候在.NET中执行(备用断电等)?我知道GC是如何工作的,并且当它们完全运行时它是不确定的.

(搜索没有显示出良好的答案,所以我加入了这个问题,期望与不那么容易发现的实际答案合并.除此之外,我已经知道了答案,我将要添加几天之后如果没有人提到它.)

.net garbage-collection finalizer

18
推荐指数
2
解决办法
1783
查看次数

你如何获得int数组中最低值的索引?

考虑到这是一项非常基本的任务,我想不出一个适当的简单方法.你如何获得int数组中最低值的索引?使用Linq/MoreLinq是可能的.到目前为止,我找不到合理的单线.

.net c# arrays

18
推荐指数
3
解决办法
3万
查看次数

C#弱引用实际上是软的吗?

基本的不同之处在于,应该在每次运行GC时声明弱引用(保持内存占用率低),而软引用应该保留在内存中,直到GC实际需要内存(它们尝试扩展生命周期但可能随时失败,这对于例如特别是相当昂贵的对象的高速缓存是有用的.

据我所知,没有明确的陈述说明弱引用如何影响.NET中对象的生命周期.如果它们是真正的弱参考,它们根本不应该影响它,但是这也会使它们对于我们认为缓存的主要目的而言毫无用处(我错了吗?).另一方面,如果他们的行为像软参考,他们的名字有点误导.

就个人而言,我想他们的行为就像软参考,但这只是一种印象,而不是创立.

当然,实施细节也适用.我问的是与.NET的弱引用相关的心态 - 它们是否能够延长寿命,还是它们的行为像真正的弱引用?

(尽管有一些相关的问题我还没找到这个具体问题的答案.)

.net c# garbage-collection weak-references soft-references

18
推荐指数
2
解决办法
3190
查看次数

有没有办法在C#(或一些变通方法)中创建索引事件?

标题令人困惑.让我澄清一下:

我想提供依赖于参数的事件,以便观察者可以决定在特定"id"发生某些事件时接收事件.它可能看起来像这样:

public event EventHandler Foo (string id);
Run Code Online (Sandbox Code Playgroud)

我知道这种语法在.NET 3.5中是错误的,我也知道这个想法引入了额外的问题(例如,我们如何管理取消订阅?).

我该如何规避这个问题?我想过使用类似的东西:

public EventHandler Foo (string id);
Run Code Online (Sandbox Code Playgroud)

这至少是合法的语法,可以工作,但它对我来说仍然不是很好.

编辑:不是要求将参数传递给回调函数.我的想法更像是这样的:

class Bleh
{
    public event EventHandler Foo (string index);

    private void RaiseEvents() // this is called by a timer or whatever
    {
        Foo["asdf"] (this, EventArgs.Empty); // raises event for all subscribers of Foo with a parameter of "asdf"
        Foo["97"] (this, EventArgs.Empty); // same for all "97"-subscribers
        // above syntax is pure fiction, obviously
    }
}

// subscribe for asdf …
Run Code Online (Sandbox Code Playgroud)

c# events

17
推荐指数
4
解决办法
1401
查看次数

如何检索目录中的所有文件名?

如何检索与目录中的模式匹配的所有文件名?我试过这个,但它返回完整路径而不是文件名.

Directory.GetFiles (path, "*.txt")
Run Code Online (Sandbox Code Playgroud)

我是否必须手动裁剪结果的目录路径?它很简单,但也许有一个更简单的解决方案:)

.net c# directory filenames

15
推荐指数
3
解决办法
3万
查看次数

如何在SQL查询中选择每个组的第一行?

我有这个SQL查询:

SELECT   Foo, Bar, SUM(Values) AS Sum
FROM     SomeTable
GROUP BY Foo, Bar
ORDER BY Foo DESC, Sum DESC
Run Code Online (Sandbox Code Playgroud)

这导致输出类似于:

47  1   100
47  0   10
47  2   10
46  0   100
46  1   10
46  2   10
44  0   2
Run Code Online (Sandbox Code Playgroud)

我想每个Foo只有第一行,而忽略其余的.

47  1   100
46  0   100
44  0   2
Run Code Online (Sandbox Code Playgroud)

我怎么做?

sql sql-server-ce

13
推荐指数
1
解决办法
5万
查看次数