问题列表 - 第14990页

将单个项目作为IEnumerable <T>传递

是否有一种常见的方法将单个类型的项传递给T需要IEnumerable<T>参数的方法 ?语言是C#,框架版本2.0.

目前我正在使用一个辅助方法(它是.Net 2.0,所以我有一大堆类似于LINQ的转换/投射辅助方法),但这看起来很愚蠢:

public static class IEnumerableExt
{
    // usage: IEnumerableExt.FromSingleItem(someObject);
    public static IEnumerable<T> FromSingleItem<T>(T item)
    {
        yield return item; 
    }
}
Run Code Online (Sandbox Code Playgroud)

其他方式当然是创建和填充a List<T>或an Array而不是传递它IEnumerable<T>.

[编辑]作为扩展方法,它可能被命名为:

public static class IEnumerableExt
{
    // usage: someObject.SingleItemAsEnumerable();
    public static IEnumerable<T> SingleItemAsEnumerable<T>(this T item)
    {
        yield return item; 
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

[Edit2]我们发现someObject.Yield()(正如@Peter在下面的评论中所建议的那样)是这个扩展方法的最佳名称,主要是为了简洁,所以如果有人想要抓住它的话,它会与XML注释一起:

public static class IEnumerableExt
{
    /// <summary>
    /// Wraps this object instance into an IEnumerable&lt;T&gt;
    /// consisting of a …
Run Code Online (Sandbox Code Playgroud)

.net c# generics ienumerable

357
推荐指数
14
解决办法
8万
查看次数

unix套接字:如何通过一个"发送"调用发送真正的大数据?

我正在使用unix scoket进行数据传输(SOCK_STREAM模式)

我需要发送一串超过100k的字符串.首先,我发送一个字符串的长度 - 它的sizeof(int)字节.

length = strlen(s)
send(sd, length, sizeof(int))
Run Code Online (Sandbox Code Playgroud)

然后我发送整个字符串

bytesSend = send(sd, s, length)
Run Code Online (Sandbox Code Playgroud)

但令我惊讶的是"bytesSend"小于"length".

请注意,当我发送不那么大的字符串时,这很好用.对于我一直缺少的系统调用"发送"可能存在一些限制......

unix sockets send

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

如何为iPhone构建Boost-Libraries

有人能告诉我,在哪里可以找到详细的指南,如何构建Boost-Libraries以便在iPhone-Device上使用它.

我已经为Mac构建了libs,可以在我的项目中使用它们(仅限iPhone-Simulator).在为iPhone-Device构建项目时,XCode给我一个警告:"文件不是必需的架构",还有其他一些错误.

请帮忙

iphone boost build

16
推荐指数
2
解决办法
8606
查看次数

在MySQL GROUP_CONCAT中订购,其中包含一个函数

我想在GROUP_CONCAT函数中对结果进行排序.问题是,GROUP_CONCAT函数中的选择是另一个函数,就像这样(幻想选择):

SELECT a.name,
    GROUP_CONCAT(DISTINCT CONCAT_WS(':', b.id, c.name) ORDER BY b.id ASC) AS course
FROM people a, stuff b, courses c
GROUP BY a.id
Run Code Online (Sandbox Code Playgroud)

我想得到一个结果(由b.id排序):

michael    1:science,2:maths,3:physics
Run Code Online (Sandbox Code Playgroud)

但我得到:

michael    2:maths,1:science,3:physics
Run Code Online (Sandbox Code Playgroud)

有谁知道我可以在我的group_concat中通过b.id订购?

mysql sql sql-order-by group-concat

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

是否有针对OSX的开发人员许可计划?

微软为开发人员(如MSDN)和初创公司(如BizSpark)提供了一系列激励措施,让他们以更少的投资为微软平台开发软件.例如,MSDN允许我在现有的每个Windows版本上测试我的软件,而无需购买该版本的完整许可证.BizSpark甚至更好,只要它用于创业公司的商业目的,就可以免费提供所有软件.

Apple提供类似的东西吗?

PS到目前为止,我发现在OSX上测试我们软件的唯一合法方法是购买Mac Mini,其成本几乎与MSDN一样多,并且没有十分之一的好处(就软件开发而言) .

macos

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

条件表达式中的数据类型不匹配| Access,OleDb,C#

我使用C#从MS Access读取/更新数据.我的代码是:

public static void UpdateLastLogin(int userid, DateTime logintime) ///logintime = DateTime.Now
{
    string sql = @"UPDATE [Customers] SET [LastLogin]=?";
    OleDbParameter[] prms = new OleDbParameter[] { 
     new OleDbParameter("@LastLogin",logintime)
    };
    using (DAL dal = new DAL())
    {
        dal.UpdateRow(sql, false, prms);
    }
}
Run Code Online (Sandbox Code Playgroud)

谈到日期,我遇到了麻烦.这会引发"条件表达式中的数据类型不匹配".错误.(为了保持简单,我删除了WHERE子句)我是否考虑将[LastLogin] =?括起来?单引号的问号,#符号..没有帮助.任何有关如何使用Access和OleDb提供程序处理DateTime对象的线索将不胜感激.

提前致谢.

c# asp.net oledb ms-access datetime

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

在不使用验证码的情况下阻止垃圾评论

在我的评论中阻止垃圾邮件的一些非验证码方法是什么?

php captcha spam

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

使用svn diff时如何获取无上下文

当我从命令行使用'svn diff'时,它会打印出已更改的行,但也会打印出上下文之前和之后的3行.我更喜欢只看到没有上下文的更改行.我无法确定任何命令行选项,让我让它以这种方式运行.标准'diff'和'cvs diff'默认执行我想要的操作.当然'svn diff'可以做到这一点,但我错过了一些东西.谁知道怎么样?

svn diff command-line

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

使用mvc的主要目的

我最近一直在做一些研究/阅读mvc,只是想知道主要目的是什么.

  1. 正如有些人所说的那样从html中分离逻辑
  2. 或创建干净的网址

我可能完全忽略了这一点,但是asp.net表单确实从html中分离了逻辑,如果你只是想要干净的url,为什么不使用mod_rewrite规则呢?

model-view-controller asp.net-mvc webforms

9
推荐指数
2
解决办法
3586
查看次数

Notes数据库到MySQL(有CF?)/或如何获取NSF数据结构

我有一个商业ColdFusion应用程序,在MySQL数据库上运行.一个可能的新客户已找到我,他们已经在Lotus Notes环境(和他们自己的数据库)工作多年了.当然,他们希望在移动之前将数据迁移到我的应用程序.

我试图了解如何彻底了解当前数据库应用程序中的数据,结构和相互依赖性.是否有任何工具可以查看NSF文件的数据库结构(如在RDBMS中),或者无论如何使用ColdFusion等转储结构....我没有任何使用Lotus Notes的实践经验(I同时拥有本地Lotus客户端及其数据库).

我需要一个好的起点才能确定我是否能找到迁移数据的方法.

有任何想法吗??谢谢巴特

mysql coldfusion lotus-notes

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