小编Guy*_*Guy的帖子

LINQ依赖计算分配

我在C#中使用以下模式:

IList<foo> x = y.Select(a => new foo
{
    b = Calc1(),
    c = Calc2()
}).ToList();

foreach(foo f in x)
{
    f.d = b / c;
}
Run Code Online (Sandbox Code Playgroud)

我想做的是:

IList<foo> x = y.Select(a => new foo
{
    b = Calc1(),
    c = Calc2()
    d = b / c;
}).ToList();
Run Code Online (Sandbox Code Playgroud)

所以问题是:如何修改此模式以允许赋值取决于在赋值期间计算的其他值?

(有人可能会指出d应该是进行计算并返回值的属性.这是一个人为的例子.假设d的值是使用c和b之外的其他值计算的,这些值以后不可用. )

c# linq extension-methods design-patterns

4
推荐指数
2
解决办法
611
查看次数

我有两个问题,其中一个是正则表达式

我正在更新一些我没写的代码,其中一部分是正则表达式,如下所示:

\[url(?:\s*)\]www\.(.*?)\[/url(?:\s*)\]
Run Code Online (Sandbox Code Playgroud)

我明白那个 .*?对第二个寄存器中的所有内容进行非贪婪的匹配.

什么?:第一和第三个寄存器中的\ s*吗?

更新:根据要求,语言是.NET 3.5上的C#

c# regex .net-3.5

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

SQL Server 2008 Express或Enterprise

我正处于将我的小型数据库部署到服务器的情况.它可以轻松地在SQL Server 2008 Express的范围内运行.但是,如果我愿意,我也可以将其部署到SQL Server 2008 Enterprise.

假设Express具有我需要的所有功能和大小.它是否比企业提供任何速度优势?即鉴于两者都足以满足我的需求,哪种更好?

sql-server-2008

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

AppDomain.CurrentDomain.DomainUnload不会在控制台应用程序中引发

我有一个程序集,当访问时会旋转一个线程来处理放在队列中的项目.在该程序集中,我将一个处理程序附加到DomainUnload事件:

AppDomain.CurrentDomain.DomainUnload += new EventHandler(CurrentDomain_DomainUnload);

该处理程序将线程连接到主线程,以便队列中的所有项都可以在应用程序终止之前完成处理.

我遇到的问题是,当控制台应用程序终止时,DomainUnload事件不会被触发.任何想法为什么会这样?

使用.NET 3.5和C#

.net c# multithreading .net-3.5

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

你如何直接将ASP.NET MVC1升级到MVC3?

我有一个ASP.NET MVC1项目,并希望将其直接升级到MVC3.我假设有两条路径:

  1. 直接从1升级到3
  2. 升级到2然后再升级到3

最常旅行的路径是哪条?

asp.net-mvc upgrade asp.net-mvc-3

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

使用LINQ to SQL从DB进行最佳Count()操作

DBA告诉我在使用T-SQL时:

select count(id) from tableName
Run Code Online (Sandbox Code Playgroud)

比...更快

select count(*) from tablenName
Run Code Online (Sandbox Code Playgroud)

如果id是主键.

将其外推到LINQ-TO-SQL以下是准确的吗?

这个LINQ-to-SQL语句:

int count = dataContext.TableName.Select(primaryKeyId => primaryKeyId).Count();
Run Code Online (Sandbox Code Playgroud)

比这更高效:

int count = dataContext.TableName.Count();
Run Code Online (Sandbox Code Playgroud)

c# t-sql performance linq-to-sql

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

Express/Mongoose app的结构

我应该如何构建我的express/mongoose应用程序,以便我可以使用我的模式,模型,路由以及在命中这些路由时调用的函数?

server.js

// setup
var express = require("express");
var app = express();
var mongoose = require("mongoose");
app.db = mongoose.connect( 'mydb' ) );

// this is the bit I am not sure about
var UserSchema =  require( './modules/users/schema' )( app, mongoose );
var routes = require( './modules/users/routes' )( app, mongoose, UserSchema );

// listen
app.listen( 3000 );
Run Code Online (Sandbox Code Playgroud)

模块/用户/ schema.js

exports = module.exports = function( app, mongoose ) 
{
    var UserSchema = mongoose.Schema(
    {
        username: { type: String, required: true },
        password: …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose node.js express

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

我如何确保所有 Jest 测试都至少有一个期望?

Jest 是否有设置或是否有 Lint 规则或方法来确保每个 Jest 测试中至少有一个expect()调用?

确保这一点的一种方法是expect.assertions()在每个测试中都有。这要求我记得将其添加到每个测试中。

我在这里寻找工具解决方案。

javascript node.js jestjs

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

GridView删除无法正常工作

我使用的是GridView在C#.NET 3.5和刚转换的基本DataSourceAdapter模型到对象从LINQ中获取数据到SQL -即一个业务对象,returns一个List<>GetData()等功能

一切都在丹麦很好Update,条件Select语句按预期工作,但我无法使Delete功能发挥作用.只是尝试传入ID或整个对象,但它是在没有设置属性的"新"对象中传递的.我只是想知道这是否OldValuesParameterFormatString="original_{0}"ObjectDataSource造成混乱的老怪物.

有人有什么想法吗?

c# asp.net gridview

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

C#.Net 3.5使用LINQ替换文件扩展名的代码

我已经编写了这个非常简单的函数来在C#.NET 3.5中使用LINQ替换文件扩展名,但是我觉得有更优雅的方法来执行此操作.(我不打算在这里使用LINQ - 只是寻找更优雅的方法.)想法?

    private string ReplaceFileExtension(string fileName, string newExtension)
    {
        string[] dotSplit = fileName.Split('.');
        return String.Join(".", dotSplit.Take(dotSplit.Length - 1).ToArray()) + "." + newExtension;
    }
Run Code Online (Sandbox Code Playgroud)

(我知道如果原始文件名没有点,这将不起作用.)

c# linq .net-3.5

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