问题列表 - 第12483页

prolog中的哈希表

前几天我在prolog中解决了一个谜题,并意识到如果我使用其他编程语言,我会使用哈希表/字典,但据我所知,这在prolog中是不可能的.

所以我的第一个问题是,是否有任何prolog支持类似字典的数据结构与哈希表的性能特征?

其次,我想到,由于大多数prolog使用哈希表来存储谓词,我可以编写一个包装器谓词来断言和收回事实,创建一个字典接口来利用谓词的底层哈希表.但是我会获得散列表的性能特征,还是会增加会降低性能的开销?

dictionary hashtable prolog data-structures

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

在ASP.NET MVC应用程序中实现粒度安全性(即授权)的最佳机制是什么?

假设一个高速开发人员的任务是构建一个可由许多不同的人访问的银行应用程序.每个人都希望访问他或她自己的帐户信息,但不希望其他人访问它.我想知道限制MVC应用程序访问的最佳实践,以便只有拥有该信息的用户(或管理员)才能访问它.

Authorize属性允许我们按角色进行限制.虽然这是一个起点,但似乎任何经过身份验证的用户都可以访问任何其他用户的信息.

ActionFilters似乎提供了更精细控制的选项,可能可用于完成任务.但是,我不清楚它们是否是推荐的方法.

欢迎任何指导或想法.

security asp.net-mvc authorization roles authorize

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

使用win form组合框Items.AddRange方法

我有一个对象数组,我正在尝试使用AddRange方法添加到组合框控件的Items集合中.该方法需要一个object[]但是当我向它传递已经使用某些值初始化的数组的名称时,它会抱怨:

最好的重载方法匹配System.Windows.Forms.ComboBox.ObjectCollection.AddRange(object[])有一些无效的参数.

定义数组中对象的类非常简单:

public class Action
{
   public string name;
   public int value;
   public override string ToString()
   {
      return name;
   }
}

and my array is declared such:

    public Action[] actions = new Action[] {
    new Action() { name = "foo", value = 1 },
    new Action() { name = "bar", value = 2 },
    new Action() { name = "foobar", value = 3 }
};
Run Code Online (Sandbox Code Playgroud)

这是我试图打电话的地方AddRange:

combobox1.Items.AddRange(actions);
Run Code Online (Sandbox Code Playgroud)

这就是它抱怨的那条线 - 是否有一些步骤我不知道能够做到这一点?当我只是添加一个简单的时候它工作正常string[]

.net c# combobox addrange winforms

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

类似于SQL的JavaScript运算符"喜欢"

可能重复:
在JavaScript中模拟SQL LIKE

JavaScript中的like运算符是否与SQL中的运算符类似?感谢解释和示例.

javascript

57
推荐指数
4
解决办法
16万
查看次数

对话框visual c ++

在使用MoveWindow函数更改对话框的维度时,内容的维度不会改变.我的意思是当我使用movewindow或setwindowpos更改对话框的尺寸时,其中的按钮和其他控件将离开边框或更改相对位置.

是否有任何方法可以使用其内部内容调整整个对话框的大小(以便内部内容也可以通过更改维度来调整自己).

visual-c++

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

如何将UIImage旋转90度?

我有一个UIImageUIImageOrientationUp(纵向),我想通过90度逆时针旋转(景观).我不想用CGAffineTransform.我想要UIImage实际转移位置的像素.我正在使用一段代码(如下所示),最初是为了调整大小UIImage来执行此操作.我将目标大小设置为当前大小UIImage但是我得到一个错误:

(错误):CGBitmapContextCreate:无效数据字节/行:对于8个整数位/组件,3个组件,kCGImageAlphaPremultipliedLast,应该至少为1708.

(每当我提供SMALLER尺寸作为目标尺寸BTW时,我都不会收到错误).如何UIImage在保留当前尺寸的同时仅使用核心图形功能旋转我的90度CCW?

-(UIImage*)reverseImageByScalingToSize:(CGSize)targetSize:(UIImage*)anImage
{
    UIImage* sourceImage = anImage; 
    CGFloat targetWidth = targetSize.height;
    CGFloat targetHeight = targetSize.width;

    CGImageRef imageRef = [sourceImage CGImage];
    CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef);
    CGColorSpaceRef colorSpaceInfo = CGImageGetColorSpace(imageRef);

    if (bitmapInfo == kCGImageAlphaNone) {
        bitmapInfo = kCGImageAlphaNoneSkipLast;
    }

    CGContextRef bitmap;

    if (sourceImage.imageOrientation == UIImageOrientationUp || sourceImage.imageOrientation == UIImageOrientationDown) {
        bitmap = CGBitmapContextCreate(NULL, targetHeight, targetWidth, CGImageGetBitsPerComponent(imageRef), CGImageGetBytesPerRow(imageRef), colorSpaceInfo, bitmapInfo);

    } else {


        bitmap = CGBitmapContextCreate(NULL, targetWidth, …
Run Code Online (Sandbox Code Playgroud)

core-graphics objective-c uikit uiimage ios

174
推荐指数
11
解决办法
17万
查看次数

如何使用Android在复杂的ListView创建上提高(感知)速度?

我有一个使用ListView作为主屏幕的应用程序.每行显示一些文本,一个复选框和根据数据的图像,因为你不能使用标准的ListAdapter,我自己制作.

每次发生更改(添加/删除行,检查提示,导航等)到列表数据时,我都会使用以下方法刷新列表显示:

public void refreshList()
{
    // fetch the new items
    ItemDbHelper items = new ItemDbHelper(this);
    Cursor item_cursor = items.fetchItemForCurrentView(this.current_context_filter);

    // do not use "start managing cursor" here or resume() won't work
    // anymore since the cursor will be closed despite we still need it

    // set the welcome message if no items to display
    if (item_cursor.getCount() == 0)
    {
        TextView message = (TextView) this.findViewById(R.id.home_message);
        message.setVisibility(View.VISIBLE);
    }

    ListView list = this.task_list;
    ItemListAdapter item_cursor_adater = (ItemListAdapter) list.getAdapter();

    // close the old …
Run Code Online (Sandbox Code Playgroud)

android listview

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

MYSQL中latin1_general_ci和utf8_bin有什么区别

我目前正在使用多语言网站.在某些情况下,我需要将其他语言数据保存在数据库中.虽然我这样做并没有保存我输入的实际数据.而不是它包含"?????????????????????".之后我将校对latin1_general_ci更改为utf8_bin.

然后它现在运作良好.

任何人都可以解释我在mysql中可用的排序规则之间的差异

提前致谢.

FERO

mysql

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

C#与VB.Net中的命名空间引用

在VB.Net中你可以做如下的事情,没有任何问题...只是忽略这是一个非常无用的类的事实:-)


Imports System

Public Class Class1
    Public Shared Function ArrayToList(ByVal _array() As String) As Collections.Generic.List(Of String)
        Return New Collections.Generic.List(Of String)(_array)
    End Function
End Class
Run Code Online (Sandbox Code Playgroud)

但是如果你在C#中做同样的事情......


using System;

public class Class1
{
    public static Collections.Generic.List ArrayToList(string[] _array)
    {
        return new Collections.Generic.List(_array);
    }
}
Run Code Online (Sandbox Code Playgroud)

您将在"Collections.Generic.List"返回的行上收到错误,说"找不到类型或命名空间名称'Collections'(您是否缺少using指令或程序集引用?)"

我知道你必须有一个使用System.Collections.Generic的using指令才能使用List,但我不知道为什么.我也不明白为什么我在函数声明中没有得到相同的错误,只是在return语句中.

我希望有人可以解释这一点,甚至可以将我推荐给一个解释它的technet页面.我四处寻找,但找不到任何解释这个概念的东西.

编辑:请注意,问题实际上是关于子命名空间的引用,例如在示例中能够引用系统中的集合.

c# vb.net using using-directives

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

SQL:找到最长的日期差距

我有一个包含2个字段的表:唯一ID,用户ID(外键)和日期时间.这是服务的访问日志.我在SQL Server工作,但我会欣赏不可知的答案.

我想使用SQL为某个用户查找最长间隙开始的ID.

例如,假设我的值如下(一个用户的简化):

ID |  User-ID |  Time
----------------------------------
1  |  1       |  11-MAR-09, 8:00am
2  |  1       |  11-MAR-09, 6:00pm
3  |  1       |  13-MAR-09, 7:00pm
4  |  1       |  14-MAR-09, 6:00pm
Run Code Online (Sandbox Code Playgroud)

如果我为用户1搜索最长的间隙,我将获得ID 2(在那里得到间隙的长度也很好,然后,但更不重要).

在SQL中实现这一目标的最有效方法是什么?

注意:ID不一定是顺序的.

谢谢

sql

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