小编Pio*_*ski的帖子

IUnknown接口 - 用于COM\COM +对象?

我在使用IUnknown接口时有点不清楚.IUnknown接口是否仅适用于COM/COM +对象和一些非托管代码,如Win API?

c# interface

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

视图,存储过程或表定义函数

此查询按原样执行.但是,SQL Management Studio不会将其保存为视图,因为我定义了一个变量.

DECLARE @HighestTransaction int

SET @HighestTransaction = (SELECT     MAX(CardID)
                            FROM          dbo.Transactions)

SELECT Uploads.*, Transactions.*
FROM   Uploads LEFT OUTER JOIN
       dbo.Transactions ON dbo.Uploads.Code = dbo.Transactions.CardID
WHERE  (Uploads.Code > CASE WHEN
           @HighestTransaction IS NULL THEN -1  ELSE @HighestTransaction END)

我还没有真正使用存储过程或用户定义的函数,所以我不确定这样做的最佳方法.或者,如果有更好的方式来写这个,我也愿意接受建议.

sql t-sql sql-server

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

F#:从用户输入创建整数集合

我对F#很新,所以问题可能相当简单.不过,我找不到任何关于SO的建议.

我正在玩F#中的算法任务.作为第一步,我想从用户控制台输入创建一个整数集合.未定义输入数量.而且我不会使用任何while循环.我希望尽可能多的惯用法.

在递归函数中,我正在读取结果并使用它进行解析Int32.TryParse.我使用匹配bool结果match ... with.如果成功,那么我将一个新值附加到集合.否则我会退回收藏品.

以下是我的代码:

let rec getNumList listSoFar =
    let ok, num = Int32.TryParse(Console.ReadLine())
    match ok with
        | false -> listSoFar
        | true -> getNumList num::listSoFar

let l = getNumList []
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

类型不匹配.期待一个'a
但是给'一个列表

我知道我使用的类型不正确,但我不明白到底出了什么问题.任何解释都高度赞赏.

f#

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

约束泛型类型以继承f#中的泛型类型

let mapTuple f (a,b) = (f a, f b)
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个函数,将函数应用于f元组中的两个项目,并将结果作为元组返回.F#类型推断表示mapTuple返回'b*'b元组.它还假设a并且b属于同一类型.

我希望能够传递两种不同的类型作为参数.您会认为这不起作用,因为它们都必须作为参数传递给f.所以我认为如果它们从相同的基类继承,它可能会起作用.

对于我想要实现的目标,这是一个不太通用的函数.

let mapTuple (f:Map<_,_> -> Map<'a,'b>) (a:Map<int,double>,b:Map<double, int>) = (f a, f b)
Run Code Online (Sandbox Code Playgroud)

但是,它会出现类型不匹配错误.

我该怎么做?我想在F#中实现什么?

f#

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

在 r 中将 Lambert 共形圆锥投影转换为 wgs84

我有 Lambert 共形圆锥投影 x,y 信息。
我需要 WGS84 坐标。但我不知道什么是lcc。
我在下面提供了 lcc 信息。
有没有办法在 r 中将 lcc 转换为 WGS84?

example lcc x,y : xy <- cbind(c(509535.7, 514535.7),c(201098.6, 201098.6)) 
Run Code Online (Sandbox Code Playgroud)

lcc信息:
第一条标准纬线:30.0
第二条标准纬线:60.0
原点纬度:38.0 原点经度:126.0
计算点东经:43
计算点北经:136
4边经纬度:左上(43.3935) 123.3102)、左下(31.7944、123.7613)、
右上(43.2175、132.7750)、右下(31.6518、131.6423)

wgs84 r raster coordinate-systems rgdal

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

是否有一种简单的方法来打印数组的每个元素?

let x=[|15..20|]
let y=Array.map f x
printf "%O" y
Run Code Online (Sandbox Code Playgroud)

好吧,我得到了一个类型信息.

有没有办法用","的分隔符打印"y"的每个元素,而不必使用for循环?

printing arrays f#

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

我何时应该使用Moq的.As方法?

我们什么时候需要使用.AsMoq提供的方法?

从快速入门文档:

// implementing multiple interfaces in mock
var foo = new Mock<IFoo>();
var disposableFoo = foo.As<IDisposable>();
// now the IFoo mock also implements IDisposable :)
disposableFoo.Setup(df => df.Dispose());
Run Code Online (Sandbox Code Playgroud)

但我只是不明白我们为什么要那样做.你能给我一个实际的例子吗?

c# unit-testing moq

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

生成不包含某些数字的随机数

有没有办法从一组不包含某些数字的数字中生成一个随机数?例如 - 20-50的随机数,不包括25,27,34.

c# random

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

Enum对象的C#extend方法

我正在尝试创建一个扩展方法,但无法使其工作.

所以这工作,在一个枚举类型的例子上创建扩展方法:

public enum Pets
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

以上宠物可以扩展创建一个扩展方法,如:

public static void Myex(this Pets pet)
{
    ... 
} 
Run Code Online (Sandbox Code Playgroud)

但是当我尝试扩展Enum本身的例子如下:

Public static void something(this Enum en)
{
    ... 
} 
Run Code Online (Sandbox Code Playgroud)

并试着像下面这样使用它

Enum.something(); 
Run Code Online (Sandbox Code Playgroud)

这不起作用.

我试图创建类似Enum.Parse,Enum.IsDefined(已经由c#公开)的类似方法.

c#

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

搜索2d阵列中最大的空间

屏幕截图

我有随机颜色发生器.正如你在照片中看到的,它会随机生成一种颜色(R - 红色,G - 绿色,Y - 黄色).

我需要找到占据最大空间的颜色.但有一个条件.我可以算出那个有很多相同邻居的颜色的最大空间.我不知道怎么说,英语不是我的主要语言.

例如,RGYRGYRGRGRGRGRGR红色不占用最大的空间,因为它彼此分开.但是RRRRRRRRGYGYG很好,因为所有的R颜色都在附近.

我该怎么做?起初我认为我需要使用广度优先搜索算法.但是我的教授说我可以"扫描"行或列.所以我不知道该怎么做.哪种方式最简单?

c# algorithm

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