小编huy*_*itw的帖子

具有多个元素的自定义数据属性

我正在尝试在我的网站上在灯箱中制作自定义数据属性.我只是在Javascript中为一个元素制作它并且它工作正常,但我想让它在多个元素中工作.

它现在是如何工作的:我有一个id为"image-1"的"a"元素,我想让javascript识别id image-2,3,4 ...并从自定义属性中显示正确的数据.请注意,我无法使用onclick,因为它使灯箱停止工作.

这是HTML:

<div class="col-xs-12 col-sm-4 col-md-3 col-lg-3">
    <div  class="thumbnail grid-wrapper thumbnail-single">
        <a id="image-1" href="img/photo2.jpeg" data-tags="<li>t31232est</li> <li>test</li>" data-fb="http://test1.pl" data-tt="http://test2.pl" data-gplus="http://te23432st3.pl"  data-lightbox="roadtrip" data-title="This is a caption. This is a caption This is a caption This is a caption"><img src="img/photo2.jpeg" class="img-responsive" alt="..."></a>
    </div>
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-3">
    <div  class="thumbnail grid-wrapper thumbnail-single">
        <a id="image-2" href="img/photo3.jpg" data-tags="<li>test</li> <li>test</li>" data-fb="http://test55.pl" data-tt="http://test253342.pl" data-gplus="http://tes32423t3.pl"  data-lightbox="roadtrip" data-title="This is a caption. This is a caption This is a caption This is a caption"><img src="img/photo3.jpg" …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery custom-data-attribute

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

密集和稀疏矩阵的高效(时间和空间复杂度)数据结构

我必须读取一个文件,其中存储了一个带有汽车的矩阵(1 = BlueCar,2 = RedCar,0 = Empty).

我需要编写一个算法来以这种方式移动矩阵的汽车:

  • 蓝色向下移动;
  • 红色向右移动 ;
  • 有一个转弯,其中所有蓝色的移动和转向移动所有的红色.

该文件被读出之前,我不知道矩阵的大小,如果它是密集或稀疏,所以我要实现两个数据结构(一个用于密,一个用于稀疏)和两种算法.

我需要尽可能达到最佳的时间和空间复杂性.

由于未知的矩阵大小,我认为将数据存储在堆上.

如果矩阵密集,我想使用类似的东西:

short int** M = new short int*[m];
short int*  M_data = new short int[m*n];

for(int i=0; i< m; ++i) 
{
    M[i] = M_data + i * n;
}
Run Code Online (Sandbox Code Playgroud)

通过这种结构,我可以分配一个连续的内存空间,并且访问起来也很简单M[i][j].

现在问题是为稀疏情况选择的结构,我还必须考虑如何以最简单的方式将汽车移动通过算法:例如,当我评估汽车时,我需要轻松找到,如果在下一个位置(向下或向右)有另一辆车或如果它是空的.

最初我想要定义继承自一般Car对象的BlueCar和RedCar对象.在这个对象中,我可以保存矩阵坐标,然后将它们放入:

std::vector<BluCar> sparseBlu;
std::vector<RedCar> sparseRed;
Run Code Online (Sandbox Code Playgroud)

否则我可以这样做:

vector< tuple< row, column, value …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm vector matrix

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

将bool []转换为byte []

我有一个List<bool>我想要转换为byte[].我该怎么做呢? list.toArray()创造一个bool[].

c# boolean bytearray

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

如何避免大型数组的初始化

我分配了大量的双打

double[] x = new double[ n ];
Run Code Online (Sandbox Code Playgroud)

其中n很大,我想避免初始化以节省时间.可能吗?

java arrays

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

接口继承和属性隐藏问题

我最近在基类上引入了一个用于单元测试目的的接口,并遇到了一个奇怪的问题.这是最小的可重现场景:

interface IBase
{
    string Text { get; }
}

interface IChild : IBase
{
}

class Base : IBase
{
    public string Text { get { return "Base"; }}
}

class Child : Base, IChild
{
    public new string Text { get { return "Child"; }}
}

static void Main(string[] args)
{
    var child = new Child();
    Console.WriteLine(child.Text); // Outputs "Child"
    Console.WriteLine((child as Base).Text); // Outputs "Base"
    Console.WriteLine(((child as Base) as IBase).Text); // Outputs "Child"
}
Run Code Online (Sandbox Code Playgroud)

前两个Console.WriteLine命令的输出是逻辑的,但是我不能接受最后一个命令的输出,它甚至 …

c# inheritance interface

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

文档未使用jshint定义

在这段代码中:

$scope.others=[some data...]
$scope.tab=[];
$scope.smt = function(x){
        for(var i = 0; i < $scope.others; i++){
            var el = angular.element(document.querySelector('#'+x));
            if (el.hasClass("myClass")){
                sel.push($scope.tab[i]);
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

JSHint抱怨:

"文件"未定义

jshint

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

List <MyObject>不包含GetAwaiter的定义

我有一个方法返回一个对象的List <>.此方法需要一段时间才能运行.

private List<MyObject> GetBigList()
{
    ... slow stuff
}
Run Code Online (Sandbox Code Playgroud)

从4或5个来源调用此方法.所以,我想我会尝试使用async并等待在此列表构建时保持移动.我添加了这个方法:

public async Task<List<MyObject>> GetBigListAsync()
{
    var resultsTask = GetBigList();
    var resuls = await resultsTask;
    return resuls;
}
Run Code Online (Sandbox Code Playgroud)

但是,在这一行:

var resuls = await resultsTask;
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

List <MyObject>不包含GetAwaiter的定义,并且找不到接受类型为List <MyObject>的第一个参数的扩展方法'GetAwaiter'.

我错过了什么?

c# async-await

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

可空引用类型和选项模式

我们如何结合使用非空引用类型选项模式

假设我们有一个名为的选项模型MyOptions

需要这些选项的服务被IOptions<MyOptions> options注入到构造函数中。

配置选项的过程IServiceCollection如下:

services
    .AddOptions<MyOptions>()
    .Configure(options =>
    {
        options.Name = "ABC";
    });
Run Code Online (Sandbox Code Playgroud)

现在,问题出在MyOptions

public sealed class MyOptions
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

会产生警告:

CS8618不可空的属性“名称”未初始化。考虑将属性声明为可为空。

  1. 我们不想使它成为Name可空值,因为我们需要在任何地方放置传统的空值检查(这与非空值引用类型的目的相反
  2. 当方法为我们构造options实例时,我们无法创建构造函数以强制MyOptions使用非空name值创建要创建的类Configure
  3. 我们不能使用允许为null的运算符把戏(public string name { get; set; } = null!;),因为那样我们就不能确保Name设置了属性,而我们最终可能会nullName属性中出现一个无法预期的属性(在服务内部)

我还没有考虑其他选择?

c# asp.net-core c#-8.0 nullable-reference-types

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

foreach没有在QPair列表上工作

使用Qt,我想要这个代码工作:

QList<QPair<QString, QString>> list;
foreach (QPair<QString, QString> pair, list)
{
}
Run Code Online (Sandbox Code Playgroud)

相反,我得到错误:

'pair':未声明的标识符

使用typedef我可以使它工作,但这不是我想要的(除非这是唯一有效的):

typedef QPair<QString, QString> MyPair;
QList<MyPair> list;
foreach (MyPair pair, list)
{
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么第一个foreach不编译?

qt

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

找出堆内存损坏的位置

我知道已经存在许多类似的问题和答案,但我无法解决我的问题.

在我的大应用程序中,堆在某处被破坏,我无法找到它.我也使用像gflags这样的工具,但没有运气.

我在下面的示例中尝试了gflags,它会破坏堆的目的:

char* pBuffer = new char[256];
memset(pBuffer, 0, 256 + 1);
delete[] pBuffer;
Run Code Online (Sandbox Code Playgroud)

第2行堆被覆盖但是如何通过gflags,windbg等工具找到它.可能我没有正确使用gflags.

c++ windows

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