是否有一种常见的方法将单个类型的项传递给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<T>
/// consisting of a …Run Code Online (Sandbox Code Playgroud) 我正在使用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".
请注意,当我发送不那么大的字符串时,这很好用.对于我一直缺少的系统调用"发送"可能存在一些限制......
有人能告诉我,在哪里可以找到详细的指南,如何构建Boost-Libraries以便在iPhone-Device上使用它.
我已经为Mac构建了libs,可以在我的项目中使用它们(仅限iPhone-Simulator).在为iPhone-Device构建项目时,XCode给我一个警告:"文件不是必需的架构",还有其他一些错误.
请帮忙
我想在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订购?
微软为开发人员(如MSDN)和初创公司(如BizSpark)提供了一系列激励措施,让他们以更少的投资为微软平台开发软件.例如,MSDN允许我在现有的每个Windows版本上测试我的软件,而无需购买该版本的完整许可证.BizSpark甚至更好,只要它用于创业公司的商业目的,就可以免费提供所有软件.
Apple提供类似的东西吗?
PS到目前为止,我发现在OSX上测试我们软件的唯一合法方法是购买Mac Mini,其成本几乎与MSDN一样多,并且没有十分之一的好处(就软件开发而言) .
我使用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对象的线索将不胜感激.
提前致谢.
当我从命令行使用'svn diff'时,它会打印出已更改的行,但也会打印出上下文之前和之后的3行.我更喜欢只看到没有上下文的更改行.我无法确定任何命令行选项,让我让它以这种方式运行.标准'diff'和'cvs diff'默认执行我想要的操作.当然'svn diff'可以做到这一点,但我错过了一些东西.谁知道怎么样?
我最近一直在做一些研究/阅读mvc,只是想知道主要目的是什么.
我可能完全忽略了这一点,但是asp.net表单确实从html中分离了逻辑,如果你只是想要干净的url,为什么不使用mod_rewrite规则呢?
我有一个商业ColdFusion应用程序,在MySQL数据库上运行.一个可能的新客户已找到我,他们已经在Lotus Notes环境(和他们自己的数据库)工作多年了.当然,他们希望在移动之前将数据迁移到我的应用程序.
我试图了解如何彻底了解当前数据库应用程序中的数据,结构和相互依赖性.是否有任何工具可以查看NSF文件的数据库结构(如在RDBMS中),或者无论如何使用ColdFusion等转储结构....我没有任何使用Lotus Notes的实践经验(I同时拥有本地Lotus客户端及其数据库).
我需要一个好的起点才能确定我是否能找到迁移数据的方法.
有任何想法吗??谢谢巴特
c# ×2
mysql ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
boost ×1
build ×1
captcha ×1
coldfusion ×1
command-line ×1
datetime ×1
diff ×1
generics ×1
group-concat ×1
ienumerable ×1
iphone ×1
lotus-notes ×1
macos ×1
ms-access ×1
oledb ×1
php ×1
send ×1
sockets ×1
spam ×1
sql ×1
sql-order-by ×1
svn ×1
unix ×1
webforms ×1