问题列表 - 第26309页

我在哪里可以获得F#编译器和FSI v4.0?

我知道我可以下载"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中.这有可再分发的吗?

f# f#-interactive

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

从方法返回两个值的最佳方法是什么?

当我必须编写返回两个值的方法时,我通常会按照以下代码返回一个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)

c# methods return-value

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

XAML ToolTip + IsHitTestVisible ="False"

我们的View1需要鼠标点击和拖动"忽略",但工具提示仍必须在该视图中运行.原因是View1在Z-Order中高于View2,因此View1可以将View2着色为红色并通过ToolTip显示警告; 但是,如果IsHitTestVisible ="False",View1附带的工具提示将不起作用.

任何人都知道一个解决方法,因此ToolTip将在鼠标移动/结束时显示,其余的鼠标事件将被View1忽略并转到View2?

谢谢,

肖恩

c# wpf user-interface xaml

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

C#where关键字

在下面的代码片段(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关键词呢?

c#

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

最佳实践:用户生成的HTML清理

我在iframe上编写WYSIWYG编辑器宽度designMode ="on".编辑器工作正常,我将代码存储在数据库中.

在输出html之前我需要在服务器端使用php"清理"以避免跨站点脚本和其他可怕的事情.有关于如何做到这一点的某种最佳做法吗?什么标签可能有危险?

更新:错字修复,这就是你所看到的就是你得到的.没什么新鲜的 :)

html javascript php xss wysiwyg

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

使用jQuery将html添加到div

我正在尝试使用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)

这不起作用,谁能告诉我我做错了什么?

javascript string jquery

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

NHibernate IQueryable集合作为root的属性

我有一个根对象,其属性是一个集合.

例如:

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提供类似于我所说的内容.

c# nhibernate domain-driven-design fluent-nhibernate

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

ToList() - 它是否创建新列表?

假设我有一堂课

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:如果发现它似乎很明显,我很抱歉.但我现在没有编译器...

c# linq

165
推荐指数
7
解决办法
10万
查看次数

增加特定套接字的TCP接收窗口

如何增加特定套接字的TCP接收窗口? - 我知道如何通过设置注册表项TcpWindowSize来为所有套接字执行此操作,但是如何针对特定的套接字执行此操作?

根据MSFT的文件,方式是

调用Windows套接字函数setsockopt,它基于每个套接字设置接收窗口.

但是在setsockopt中,提到了SO_RCVBUF:

指定为receive保留的每个套接字缓冲区空间总数.这与SO_MAX_MSG_SIZE无关,并且不一定与TCP接收窗口的大小相对应.

那有可能吗?怎么样?

谢谢.

c++ sockets windows winsock2

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

将变量初始化为虚拟值是不好的做法吗?

这个问题是我刚才提出的这个问题答案的结果.

据称这段代码"丑陋",因为它将变量初始化为永远不会被读取的值:

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)

)

default-value variable-initialization

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