问题列表 - 第1297页

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

您支持哪些开源项目,或者是什么阻止您支持项目?

我经常觉得我应该为某些项目做出更多贡献,因为我每天都依赖它们,但我常常觉得自己会受到影响.

您是否有任何项目,您不是主要的开发人员,但确实提交补丁?

任何阻碍你伸出援手的绊脚石?

testing open-source patch bug-reporting

6
推荐指数
1
解决办法
227
查看次数

在完全托管的asp.net c#web应用程序中是否可以进行缓冲区溢出/溢出

完全托管的asp.net Web门户网站中是否存在缓冲区溢出/溢出漏洞.如果可以,则可以对其进行测试.

c# asp.net buffer-overflow buffer-overrun

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

开关/模式匹配的想法

我最近一直在关注F#,虽然我不太可能在不久的将来跳过障碍,但它肯定会突出一些C#(或库支持)可以让生活更轻松的领域.

特别是,我正在考虑F#的模式匹配功能,它允许非常丰富的语法 - 比当前的开关/条件C#等价物更具表现力.我不会试图给出一个直接的例子(我的F#不符合它),但简而言之它允许:

  • 按类型匹配(对受歧视的联合进行全覆盖检查)[注意这也推断了绑定变量的类型,给成员访问等]
  • 谓词匹配
  • 以上的组合(以及可能我不知道的其他一些场景)

虽然C#最终可以借用[ahem]丰富的一些内容,但是在过渡时期我一直在研究可以在运行时做些什么 - 例如,将一些对象拼凑起来相当容易:

var getRentPrice = new Switch<Vehicle, int>()
        .Case<Motorcycle>(bike => 100 + bike.Cylinders * 10) // "bike" here is typed as Motorcycle
        .Case<Bicycle>(30) // returns a constant
        .Case<Car>(car => car.EngineType == EngineType.Diesel, car => 220 + car.Doors * 20)
        .Case<Car>(car => car.EngineType == EngineType.Gasoline, car => 200 + car.Doors * 20)
        .ElseThrow(); // or could use a Default(...) terminator
Run Code Online (Sandbox Code Playgroud)

其中getRentPrice是Func <Vehicle,int>.

[注意 - 也许这里的Switch/Case是错误的术语......但它显示了这个想法]

对我来说,这比使用重复的if/else或者复合三元条件(对于非平凡的表达式变得非常混乱 - 括号丰富)的等价物要清楚得多.它还避免了大量的转换,并允许简单扩展(直接或通过扩展方法)到更具体的匹配,例如InRange(...)匹配可比VB选择...案例"x到y "用法.

我只是想测量一下,如果人们认为上述结构有很多好处(在没有语言支持的情况下)?

另外请注意,我一直在玩上述3种变体: …

c# switch-statement

148
推荐指数
7
解决办法
2万
查看次数

在类库中正确实现缓存以在asp.net应用程序中使用

我正在我在asp.net应用程序中使用的类库中实现缓存.

我使用静态方法创建了我的缓存对象作为单例模式来更新缓存,这实际上只是加载一个成员变量/属性,其中包含我需要缓存的数据集合(得到一些锁定逻辑的课程).我认为这是一个很好的方式,因为我可以通过调用访问我的数据

MyCacheObject.Instance.MyDataCollection
Run Code Online (Sandbox Code Playgroud)

我正在创建一个新的缓存对象来存储由某个键分区的大量数据.我所说的是我正在创建一个新的缓存,但是这个不会一次加载所有数据,而是为每个访问的密钥存储一个集合.

MyOtherCacheObject.Instance.MyOtherDataCollection(indexkey)
Run Code Online (Sandbox Code Playgroud)

这次提出了关于垃圾收集的问题.由于我存储了大量的数据,如果突然得到gc,它不会是浪费吗?由于它只是一个单例模式,因此无法确保数据保留在缓存中.

所以我的问题是 - 实现缓存来处理这种情况的最佳做法是什么?我真的不喜欢这个非常复杂的解决方案,我知道System.Web中有缓存,但这似乎有点"关闭",因为这只是一个类库,或者你怎么看?

c# asp.net singleton caching garbage-collection

8
推荐指数
1
解决办法
7756
查看次数

如何在.NET中将Excel工作簿写入MemoryStream?

如何在MemoryStream不先将Excel工作簿保存到文件系统的情况下将其写入?

Microsoft.Office.Interop.Excel.WorkBook保存选项中的所有选项都采用文件名.

.net excel

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

你如何断言在JUnit 4测试中抛出某个异常?

如何以惯用方式使用JUnit4来测试某些代码是否会抛出异常?

虽然我当然可以这样做:

@Test
public void testFooThrowsIndexOutOfBoundsException() {
  boolean thrown = false;

  try {
    foo.doStuff();
  } catch (IndexOutOfBoundsException e) {
    thrown = true;
  }

  assertTrue(thrown);
}
Run Code Online (Sandbox Code Playgroud)

我记得有一个注释或一个Assert.xyz或者其他东西,对于这些类型的情况来说,远不如KUndgy 和JUnit的精神.

java junit assert exception junit4

1915
推荐指数
24
解决办法
120万
查看次数

如何使用正则表达式跳过docstring

我正在尝试将一些导入行插入到python源文件中,但我最好将它们放在初始docstring之后.假设我将文件加载到lines变量中,如下所示:

lines = open('filename.py').readlines()
Run Code Online (Sandbox Code Playgroud)

如何找到文档字符串结束的行号?

python

1
推荐指数
1
解决办法
935
查看次数

是否存在Silverlight内存分析器?

CLR分析器似乎不适用于Silverlight CLR.是否存在另一个内存分析器?

.net silverlight clr profiler memory-leaks

8
推荐指数
1
解决办法
6618
查看次数

关闭Java FileInputStream

好吧,我一直在做以下(变量名已被更改):


FileInputStream fis = null;
try
{
    fis = new FileInputStream(file);

    ... process ...

}
catch (IOException e)
{
    ... handle error ...
}
finally
{
    if (fis != null)
        fis.close();
}

最近,我开始使用FindBugs,这表明我没有正确关闭流.我决定看看是否有任何可以用finally {}块做的事情,然后我看,哦是的,close()可以抛出IOException.人们应该在这做什么?Java库会抛出太多已检查的异常.

java exception stream

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