小编Jam*_*s B的帖子

为什么编译器不能为我推断类型?(又名Smarter SmartEnumerable)

我正在使用Jon Skeet非常聪明的SmartEnumerable.如果您还没有看过,我建议您查看一下.

该类定义如下:

public class SmartEnumerable<T> : IEnumerable<SmartEnumerable<T>.Entry>
Run Code Online (Sandbox Code Playgroud)

构造函数是:

public SmartEnumerable(IEnumerable<T> enumerable)
Run Code Online (Sandbox Code Playgroud)

你用它来说:

new SmartEnumerable<Cat>(myCats);  // where myCats is IEnumerable<Cat>
Run Code Online (Sandbox Code Playgroud)

现在我真的想让编译器推断我有一系列的猫,并且能够说:

new SmartEnumerable(myCats);
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个编译器错误:

无法从用法推断出方法'MiscUtil.Collections.SmartEnumerable.SmartEnumerable(System.Collections.Generic.IEnumerable)'的类型参数.尝试显式指定类型参数.

我不清楚为什么会这样.有没有办法绕过它.为什么它不能看到我正在使用IEnumerable<Cat>并从中推断出来.我可以改变任何东西,让它识别我正在使用的类型吗?

我真的想要一些方法来构建一个SmartEnumerable而不必指定类型 - 因为我主要在ASP.NET MVC中使用它来获取UI,我并不总是includes对类型有所依赖并依赖于var我的参考.我最终必须包含类型才能使用SmartEnumerable - 这会降低其优雅.

哦,我会直接通过电子邮件发送给John,但他反正可能会更快回复:-)


<font color=white>skeet skeet skeet, jon, jon, jon, jon skeet, skeet jon, skeetster, skeetmeister</font>

c# generics

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

用Java输入用户输入

我正在创建一个程序来检查单词或短语是否是回文.我找到了实际的"回文测试仪".我坚持的是在我的代码中放置什么以及让控制台读出"输入回文......"然后发短信.我已尝试使用IO,但它无法正常工作.另外,我如何创建一个循环继续前进?这段代码只允许一次`public class Palindrome {

public static void main(String args[]) {  
  String s="";  
  int i;  
  int n=s.length(); 
  String str="";  

  for(i=n-1;i>=0;i--)  
   str=str+s.charAt(i);  

  if(str.equals(s))  
   System.out.println(s+ " is a palindrome");  

  else  System.out.println(s+ " is not a palindrome"); }

}
Run Code Online (Sandbox Code Playgroud)

java recursion project palindrome

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

禁用基于操作系统的“功能”是不好的做法吗?

我无法理解的一件事是这里和网络上其他地方持续存在的关于禁用基于操作系统的“功能”的质疑。人们总是问如何禁用默认操作系统快捷方式(如复制粘贴、Windows 键等),或以编程方式禁用功能。

这肯定是非常非常糟糕的做法吗?用你的程序修改用户的操作环境,除非它是专门针对帮助用户修改他们自己的操作环境的(在我见过的大多数情况下,我对此非常怀疑)。我永远不希望程序修改我绑定的快捷方式,或更改我的环境的默认行为/功能集。这是大家的共识,还是我个人这么认为?它几乎违反了我能想到的所有基本启发式和可用性/一致性理论——尤其是最小惊讶原则。

那么,问题是: 是否有一段时间(除了帮助用户修改其环境之外)操作/更改/禁用操作系统或用户一般环境的功能是可以接受的做法? 如果程序在未经用户明确许可的情况下尝试禁用 Windows 键、复制/粘贴快捷方式、调整“开始”按钮文本或类似的任何内容,并且没有从根本上实现该目的所需的更改,程序?

shell user-interface operating-system

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

有一个号码

有人可以给我一个将返回行ID 1和3的查询吗?

ID Name Hidden 
1 Mika 1,4,2 
2 Loca 0 
3 Nosta 4 
4 Like 2 
Run Code Online (Sandbox Code Playgroud)

这样的事情SELECT*FROM table WHERE Hidden HAVING(4)

mysql having

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

如何制作游戏等的自定义安装程序?

任何人都可以告诉我如何创建自定义安装程序来"安装"游戏.我说自定义意味着我不希望用户拥有安装游戏的选项.我希望它是一个直接的过程,也许只有一个加载栏.

我正在开发的程序是游戏的"中心",其中包括社区和其他功能,例如记录游戏玩法时间的计时器.我只是认为用一个简单的安装程序在一个地方安装每个游戏会使程序更容易使用.它还允许我做其他功能,因为游戏将全部安装在一个地方.用户无需指定游戏的安装位置.
这可能吗?

c# installer install

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

获得10个最多输入的条目

我只是想知道是否可以从mysql数据库中检索输入最多的条目

就像这样 :

ID - 价值

Id是自动增量,值是输入的文本,我想让它显示前10个输入最多的术语,我怎么能这样做?

php mysql

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