我知道我可以下载"April CTP"来获得.NET 2.0的F#2.0.但我需要FSC和F#Interactive for .NET 4.0.在安装了VS 2010的计算机上,它最终位于C:\ Program Files(x86)\ Microsoft F#\ v4.0中.这有可再分发的吗?
当我必须编写返回两个值的方法时,我通常会按照以下代码返回一个List<string>.或者,如果我必须返回例如id和字符串,那么我返回a List<object>然后用索引号选择它们并重新设置值.
这种通过索引进行重铸和引用似乎不够优雅,所以我想为返回两个值的方法开发一种新的习惯.这个的最佳模式是什么?
using System;
using System.Collections.Generic;
using System.Linq;
namespace MultipleReturns
{
class Program
{
static void Main(string[] args)
{
string extension = "txt";
{
List<string> entries = GetIdCodeAndFileName("first.txt", extension);
Console.WriteLine("{0}, {1}", entries[0], entries[1]);
}
{
List<string> entries = GetIdCodeAndFileName("first", extension);
Console.WriteLine("{0}, {1}", entries[0], entries[1]);
}
Console.ReadLine();
}
/// <summary>
/// gets "first.txt", "txt" and returns "first", "first.txt"
/// gets "first", "txt" and returns "first", "first.txt"
/// it is …Run Code Online (Sandbox Code Playgroud) 我们的View1需要鼠标点击和拖动"忽略",但工具提示仍必须在该视图中运行.原因是View1在Z-Order中高于View2,因此View1可以将View2着色为红色并通过ToolTip显示警告; 但是,如果IsHitTestVisible ="False",View1附带的工具提示将不起作用.
任何人都知道一个解决方法,因此ToolTip将在鼠标移动/结束时显示,其余的鼠标事件将被View1忽略并转到View2?
谢谢,
肖恩
在下面的代码片段(C#2.0)中:
public abstract class ObjectMapperBase< T > where T : new()
{
internal abstract bool UpdateObject( T plainObjectOrginal,
T plainObjectNew,
WebMethod fwm,
IDbTransaction transaction );
}
Run Code Online (Sandbox Code Playgroud)
继承人的例子:
public abstract class OracleObjectMapperBase< T > : ObjectMapperBase< T > where T : new()
{
internal override bool UpdateObject( T plainObjectOrginal,
T plainObjectNew,
WebMethod fwm,
IDbTransaction transaction )
{
// Fancy Reflection code.
}
}
Run Code Online (Sandbox Code Playgroud)
什么是where关键词呢?
我在iframe上编写WYSIWYG编辑器宽度designMode ="on".编辑器工作正常,我将代码存储在数据库中.
在输出html之前我需要在服务器端使用php"清理"以避免跨站点脚本和其他可怕的事情.有关于如何做到这一点的某种最佳做法吗?什么标签可能有危险?
更新:错字修复,这就是你所看到的就是你得到的.没什么新鲜的 :)
我正在尝试使用jQuery向id幻灯片添加一些额外的html到div.我的代码:
$("#slideshow").append("<a id="prev" title="Previous Slide">Previous Slide</a><a id="next" title="Next Slide">Next Slide</a>");
Run Code Online (Sandbox Code Playgroud)
这不起作用,谁能告诉我我做错了什么?
我有一个根对象,其属性是一个集合.
例如:
I have a Shelf object that has Books.
// Now
public class Shelf
{
public ICollection<Book> Books {get; set;}
}
// Want
public class Shelf
{
public IQueryable<Book> Books {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我想要完成的是返回一个IQueryable的集合,这样我就可以直接从父节点运行分页和过滤集合.
var shelf = shelfRepository.Get(1);
var filtered = from book in shelf.Books
where book.Name == "The Great Gatsby"
select book;
Run Code Online (Sandbox Code Playgroud)
我希望NHibernate专门执行该查询,而不是全部加载整个集合,然后在内存中解析它(这是我使用ICollection时当前发生的事情).
这背后的原因是我的收藏可能是巨大的,成千上万的记录,并且获取所有查询可能会破坏我的数据库.
我想隐含地这样做,以便当NHibernate在我的课上看到IQueryable时它知道该怎么做.
我查看了NHibernate的LINQ提供程序,目前我正在决定采用大型集合并将它们拆分到自己的存储库中,以便我可以显式调用过滤和分页.
LINQ To SQL提供类似于我所说的内容.
假设我有一堂课
public class MyObject
{
public int SimpleInt{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我有一个List<MyObject>,然后我ToList()改变其中一个SimpleInt,将我的更改传播回原始列表.换句话说,以下方法的输出是什么?
public void RunChangeList()
{
var objs = new List<MyObject>(){new MyObject(){SimpleInt=0}};
var whatInt = ChangeToList(objs );
}
public int ChangeToList(List<MyObject> objects)
{
var objectList = objects.ToList();
objectList[0].SimpleInt=5;
return objects[0].SimpleInt;
}
Run Code Online (Sandbox Code Playgroud)
为什么?
P/S:如果发现它似乎很明显,我很抱歉.但我现在没有编译器...
如何增加特定套接字的TCP接收窗口? - 我知道如何通过设置注册表项TcpWindowSize来为所有套接字执行此操作,但是如何针对特定的套接字执行此操作?
根据MSFT的文件,方式是
调用Windows套接字函数setsockopt,它基于每个套接字设置接收窗口.
但是在setsockopt中,提到了SO_RCVBUF:
指定为receive保留的每个套接字缓冲区空间总数.这与SO_MAX_MSG_SIZE无关,并且不一定与TCP接收窗口的大小相对应.
那有可能吗?怎么样?
谢谢.
这个问题是我刚才提出的这个问题答案的结果.
据称这段代码"丑陋",因为它将变量初始化为永远不会被读取的值:
String tempName = null;
try{
tempName = buildFileName();
}
catch(Exception e){
...
System.exit(1);
}
FILE_NAME = tempName;
Run Code Online (Sandbox Code Playgroud)
这确实是不好的做法吗?是否应该避免将变量初始化为永远不会实际使用的虚拟值?
(编辑 - 那么将一个String变量初始化为""一个循环之前会将值连接到String ...?或者这是一个单独的类别?
例如
String whatever = "";
for(String str : someCollection){
whatever += str;
}
Run Code Online (Sandbox Code Playgroud)
)