小编Joe*_*oel的帖子

LINQ + Foreach vs Foreach + If

我需要迭代一个对象列表,只为布尔属性设置为true的对象做一些事情.我正在讨论这段代码

foreach (RouteParameter parameter in parameters.Where(p => p.Condition))
{ //do something }
Run Code Online (Sandbox Code Playgroud)

和这段代码

foreach (RouteParameter parameter in parameters)
{ 
  if !parameter.Condition
    continue;
  //do something
}
Run Code Online (Sandbox Code Playgroud)

第一个代码显然更干净,但我怀疑它会在列表上循环两次 - 一次用于查询,一次用于foreach.这会不会是一个巨大的名单,所以我不是太在意性能,但两次循环刚的想法的错误我.

问题:如果没有循环两次,是否有一种干净/漂亮的方式来编写它?

c# linq foreach

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

摩卡和ZombieJS

我正在开始一个nodejs项目,并希望用Mocha和Zombiejs做BDD.不幸的是,我对这句话中的每一个流行词都不熟悉.我可以让Mocha和Zombiejs运行测试很好,但我似乎无法整合两者 - 是否有可能使用Mocha来运行Zombiejs测试,如果是这样,那将是什么样子?

只是寻找"你好世界"让我开始,但教程/例子会更好.

谢谢!

bdd mocha.js node.js zombie.js

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

KnockoutJS订阅具有相同回调操作的多个observable

我在KnockoutJS中有一个模型类,它有多个我想订阅的值.每个订阅都将执行相同的任务,如下所示:

function CaseAssignmentZipCode(zipCode, userId, isNew) {
  var self = this;
  self.zipCode = ko.observable(zipCode);
  self.userId = ko.observable(userId);
  self.isNew = isNew;
  self.isUpdated = false;

  self.zipCode.subscribe(function () { self.isUpdated = true; });
  self.userId.subscribe(function () { self.isUpdated = true; });
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将这两个调用结合起来订阅,以便我可以使用一个订阅来"监视"这两个值?

javascript knockout.js

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

SQL命令结果到字典C#.NET 2.0

我在.NET 2.0中有一个简单的SQL查询(使用SqlCommand,SqlTransaction),它返回一个整数字符串对(ID,Name)表.我想把这些数据放到像这样的字典中Dictionary<int, string>.

我可以将结果导入DataTable,但即使迭代它,我也不确定如何进行打字和所有这些.我觉得这一定是一个常见的问题,但我没有找到任何好的解决方案.

提前致谢.

c# sql .net-2.0

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

在IIS 6/ASP.NET webforms中记录服务器范围的请求数据(包括POST数据)

这是大局.我们在IIS 6中运行一个托管多个网站和应用程序的服务器,我们正在将整个事物移动到不同的数据中心,设置略有不同.我们已经通知我们的用户并更新了我们的DNS信息,因此从理论上讲,每个人都会很乐意从第1天开始使用新服务器,但我们知道有人会不可避免地陷入困境.

想要"监听器"页面/处理程序的权力,它将接收对服务器的所有请求并将整个请求记录到文本文件中,包括(特别是)POST数据.

那就是我被困住的地方.我不知道如何实现一个将接收所有服务器请求的处理程序.我隐约了解IIS 6重定向选项,但它们似乎都丢失了重定向上的POST数据.我也对IIS 6的内置日志记录有所了解,但它也忽略了POST数据.

是否有一种简单的(ish)方法将所有请求路由到服务器,以便它们都能在保持后期数据的同时命中一个处理程序?

编辑:这是在WebForms,如果这很重要,但其他解决方案(如果小)绝对值得考虑.

asp.net post logging iis-6 http

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

.net,业务逻辑与DAL之间的C#接口

我正在从头开始研究一个小应用程序并用它来尝试自学架构和设计概念.它是一个.NET 3.5,WPF应用程序,我使用Sql Compact Edition作为我的数据存储.

我正在研究业务逻辑层,刚刚开始编写DAL.我只是使用SqlCeComamnds发送简单查询和SqlCeResultSet来获得结果.我开始设计我的插入和更新方法,这就是问题 - 我不知道从BLL到DAL获取必要数据的最佳方法.我是否通过了通用收藏?我是否有一个包含数据库所有数据的大量参数列表?我是否只是传入实际的业务对象(从而将我的DAL绑定到BLL中的conrete?).

我想过使用接口 - 简单地将IBusinessObjectA传递给DAL,这提供了我正在寻找的简单性,而不会让我紧紧抓住当前的实现.你们有什么感想?

c# data-access-layer bll .net-3.5

6
推荐指数
2
解决办法
3089
查看次数

如何在服务器端缓存ASP.NET自定义HttpHandler响应

我的ASP.NET应用程序中有一个自定义的HttpHandler,它基本上构建并返回一个javascript对象.我没有服务器端缓存的经验,而且我的(可能无能的)谷歌搜索没有返回任何基本的东西来让我开始.

任何人都可以提供一个非常简单的示例,让我了解如何从自定义HttpHandler访问和使用服务器端缓存,或者,留下一些链接让我开始?非常感谢.

附加信息:我在IIS 6上,我的代码隐藏在C#中(尽管VB示例也可以).

asp.net caching httphandler

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

RVM"错误:无法结帐分支." 单用户

我在新的Debian 6 VirtualBox VM上安装RVM时遇到了麻烦.我安装了所有需要的软件包,并使用了下载安装脚本

(curl -s https://rvm.beginrescueend.com/install/rvm) > rvm
Run Code Online (Sandbox Code Playgroud)

,但在以单个用户身份运行时

bash rvm
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

ERROR: Unable to checkout branch .
Run Code Online (Sandbox Code Playgroud)

安装在这里停止,并且(据我所知)没有安装RVM的文件.

如果我以root身份运行脚本(对于多用户安装),我会收到另一条消息:

Successfully checked out branch ''
Run Code Online (Sandbox Code Playgroud)

安装程序继续并指示成功,但.rvm目录未添加,甚至在修改我的.bash_profile之后,我得到'rvm:command not found'.

我真的很难过.我没有bash或git的经验,所以我不确定'branch'是空白的事实是问题,还是如何继续调试.我在这里学习,所以请不要犹豫,提出问题,以便我们能够解决这个问题.

谢谢.

ruby git bash debian rvm

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

CSS网格行最大高度1fr,滚动内容

我使用以下css-grid样式的'calendar'布局:

.calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 1.5em 1.5em repeat(6, 1fr);
  width: 100%;
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

(Codepen https://codepen.io/joelhoward0/pen/vJLmWK)

前两行是'controls'标题和星期几标题,后面是该月每天的div:

<div class="day">
  <div class="header">26</div>
  <div class="content"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

每天都有一个.header.contentdiv.我希望.headerdiv占据行高度的1/5,内容占用4/5并在内容溢出时滚动.

但是,我试过的任何样式组合都会导致.content增长,缩小其他网格行以进行补偿.我假设这是由于1fr在容器grid-template-rows上的使用.

可以在.contentdiv 上实现网格行高度的4/5的最大高度,这是可用垂直空间的1/6 吗?

(注意:设置overflow-y: auto;.day实现了我想要的东西,但头被包含在滚动区域设置.overflow-y: auto;.content似乎并没有做任何事情.)

html css css3 css-grid

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

包装派生类函数的基类函数的签名

_wrap在基类上定义一个方法,该方法修改派生类上的方法。

class Base {
  //this is the signature I'm working out
  _wrap(key: unknown) {
      const fn = this[key]
      //I want typeof fn to be "Function"
      //which is not callable
      fn()
  }
}

class Derived extends Base {
    constructor() {
        super()
        //I want _wrap1 to require "isAFunction1 | isAFunction2"
        super._wrap("isAFunction1")
    }

    isAFunction1() { }
    isAFunction2() { }
    notAFunction = "some value"
}
Run Code Online (Sandbox Code Playgroud)

我正在努力编写此方法的类型签名,以便:

  1. 防止使用_wrap与派生类上的函数不对应的键从派生类进行调用
  2. 允许我在不进行强制转换的情况下使用this[key]inside_wrap作为适当的类型

我可以用来_wrap(key: keyof typeof this)实现#1,但不能实现#2。

我觉得这个相关的问题 …

typescript

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