小编Pet*_*erg的帖子

在Windows窗体应用程序中保存应用程序设置的最佳实践

我想要实现的非常简单:我有一个Windows窗体(.NET 3.5)应用程序,它使用一个路径来读取信息.用户可以使用我提供的选项表单修改此路径.

现在,我想将路径值保存到文件中供以后使用.这将是保存到此文件的众多设置之一.该文件将直接位于应用程序文件夹中.

我理解有三种选择:

  • ConfigurationSettings文件(appname.exe.config)
  • 注册处
  • 自定义XML文件

我读到.NET配置文件没有预见到将值保存回来.至于注册表,我想尽可能远离它.

这是否意味着我应该使用自定义XML文件来保存配置设置?如果是这样,我希望看到代码示例(C#).

我已经看过关于这个问题的其他讨论,但我仍然不清楚.

c# xml configuration-files application-settings winforms

561
推荐指数
11
解决办法
43万
查看次数

基于组件的游戏引擎设计

我一直在研究游戏引擎设计(特别关注 2d 游戏引擎,但也适用于 3d 游戏),并且对如何进行的一些信息感兴趣。我听说现在许多引擎正在转向基于组件的设计,而不是传统的深层对象层次结构。

您是否知道有关此类设计通常如何实施的信息的任何良好链接?我已经看到了你的层次结构的进化,但我真的找不到更多的详细信息(他们中的大多数似乎只是说“使用组件而不是层次结构”,但我发现改变我的想法需要一些努力在两个模型之间)。

任何关于这方面的好的链接或信息都将不胜感激,甚至是书籍,尽管这里的链接和详细答案将是首选。

architecture game-engine entity-system entity-component-system

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

在data.table中按行递减顺序对data.table中的行进行排序`order(-x,v)`在data.table 1.9.4或更早版本上给出错误

比方说,我有以下data.tableR:

  library(data.table)
  DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9)
Run Code Online (Sandbox Code Playgroud)

我想通过两列(比如列xv)来订购它.我用过这个:

 DT[order(x,v)] # sorts first by x then by v (both in ascending order)
Run Code Online (Sandbox Code Playgroud)

但现在,我想按x顺序排序(按递减顺序)并具有以下代码:

  DT[order(-x)] #Error in -x : invalid argument to unary operator
Run Code Online (Sandbox Code Playgroud)

因此,我认为这个错误是由于这个事实class(DT$x)=character.你可以给我任何建议来解决这个问题吗?

我知道我可以使用DT[order(x,decreasing=TRUE)],但我想知道使用两种方式(有些减少,有些增加)同时按几列排序的语法.

请注意,如果您使用DT[order(-y,v)]结果是正常的,但如果使用DT[order(-x,v)]则存在错误.所以,我的问题是:如何解决这个错误?

sorting string r key data.table

119
推荐指数
3
解决办法
16万
查看次数

如何更改DataTable列的顺序

如何在c#中更改Datatable列顺序.

例:

我创建的sql表类型顺序是Qty,Unit,Id但是在程序DataTable命令中是Id,Qty,Unit.在代码Behind am中直接将DataTable传递给sql表类型,因此表顺序不同.

DataTable columns are: `Id,Qty,Unit.`  I want this to be: `Qty,Unit,Id` 
Run Code Online (Sandbox Code Playgroud)

请帮忙

c# datatable

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

Sublime text 2 - 如何按字母顺序排列单词列表(DESC/ASC)

有没有办法按字母顺序排列大量的单词?

例如:

Hey
Salcaiser
Ok
Here
Strange
Weird
Gosh
Run Code Online (Sandbox Code Playgroud)

我的意思是大约500/1000个单词(每行1个单词)我在Mac osx上

sorting cpu-word alphabetical-sort sublimetext sublimetext2

86
推荐指数
3
解决办法
4万
查看次数

理解order()函数

我试图了解该order()功能的工作原理.我的印象是它返回了索引的排列,当排序时,它会对原始向量进行排序.

例如,

> a <- c(45,50,10,96)
> order(a)
[1] 3 1 2 4
Run Code Online (Sandbox Code Playgroud)

我本来希望这会返回c(2, 3, 1, 4),因为排序的列表将是10 45 50 96.

有人能帮我理解这个函数的返回值吗?

sorting r r-faq

81
推荐指数
4
解决办法
13万
查看次数

如何将两个JSON对象与不同顺序的相同元素进行比较?

如何在python中测试两个JSON对象是否相等,忽略列表的顺序?

例如 ...

JSON文档a:

{
    "errors": [
        {"error": "invalid", "field": "email"},
        {"error": "required", "field": "name"}
    ],
    "success": false
}
Run Code Online (Sandbox Code Playgroud)

JSON文件b:

{
    "success": false,
    "errors": [
        {"error": "required", "field": "name"},
        {"error": "invalid", "field": "email"}
    ]
}
Run Code Online (Sandbox Code Playgroud)

a并且b应该比较相等,即使"errors"列表的顺序不同.

python django comparison json

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

TestNG中的测试执行顺序

如何自定义TestNG中测试的执行顺序?

例如:

public class Test1 {
  @Test
  public void test1() {
      System.out.println("test1");
  }

  @Test
  public void test2() {
      System.out.println("test2");
  }

  @Test
  public void test3() {
      System.out.println("test3");
  }
}
Run Code Online (Sandbox Code Playgroud)

在上面的套件中,测试的执行顺序是任意的.对于一次执行,输出可以是:

test1
test3
test2
Run Code Online (Sandbox Code Playgroud)

如何按照编写顺序执行测试?

testing testng order-of-execution

71
推荐指数
7
解决办法
12万
查看次数

用相同的顺序一次洗牌两个清单

我正在使用nltk语料库movie_reviews,其中有很多文档.我的任务是通过预处理数据获得这些评论的预测性能,而无需预处理.但是有问题,在列表documentsdocuments2我有同样的文件,我需要他们打乱,为了保持相同的顺序在这两个列表.我不能单独洗牌,因为每次我洗牌都会得到其他结果.这就是为什么我需要以相同的顺序对其进行一次洗牌,因为我需要在最后比较它们(这取决于顺序).我正在使用python 2.7

示例(实际上是字符串标记化,但它不是相对的):

documents = [(['plot : two teen couples go to a church party , '], 'neg'),
             (['drink and then drive . '], 'pos'),
             (['they get into an accident . '], 'neg'),
             (['one of the guys dies'], 'neg')]

documents2 = [(['plot two teen couples church party'], 'neg'),
              (['drink then drive . '], 'pos'),
              (['they get accident . '], 'neg'),
              (['one guys dies'], 'neg')]
Run Code Online (Sandbox Code Playgroud)

我需要在洗牌后得到这个结果:

documents = [(['one of the guys dies'], 'neg'),
             (['they get into …
Run Code Online (Sandbox Code Playgroud)

python sorting shuffle list

71
推荐指数
5
解决办法
4万
查看次数

UICollectionView有效拖放

我目前正在尝试使用UICollectionView实现UITableView重新排序行为.

让我们调用一个UItableView电视和一个UICollectionView CV(以澄清以下解释)

我基本上试图重现电视的拖放,但我没有使用编辑模式,一旦触发长按手势,单元就可以移动了.它完美地工作,我使用CV的移动方法,一切都很好.

我更新CV的contentOffset属性以在用户拖动单元格时处理滚动.当用户转到顶部和底部的特定矩形时,我更新了contentOffset和CV滚动.问题是当用户停止移动手指时,手势不会发送任何更新,这会使滚动停止并在用户移动手指后立即重新开始.

这种行为绝对不自然,我宁愿继续滚动,直到用户发布CV,就像电视中的情况一样.电视拖放体验很棒,我真的想重现同样的感觉.有没有人知道他们在重新排序时如何管理电视中的滚动?

  • 我尝试使用计时器重复触发滚动动作,只要手势位置在正确的位置,滚动很糟糕且效率不高(非常慢和跳跃).
  • 我也尝试使用GCD在另一个线程中监听手势位置,但结果甚至更糟.

我对此没有任何想法,所以如果有人有答案,我会嫁给他!

以下是longPress方法的实现:

- (void)handleLongPress:(UILongPressGestureRecognizer *)sender
{
    ReorganizableCVCLayout *layout = (ReorganizableCVCLayout *)self.collectionView.collectionViewLayout;
    CGPoint gesturePosition = [sender locationInView:self.collectionView];
    NSIndexPath *selectedIndexPath = [self.collectionView indexPathForItemAtPoint:gesturePosition];

    if (sender.state == UIGestureRecognizerStateBegan)
    {
        layout.selectedItem = selectedIndexPath;
        layout.gesturePoint = gesturePosition; // Setting gesturePoint invalidate layout
    }
    else if (sender.state == UIGestureRecognizerStateChanged)
    {
        layout.gesturePoint = gesturePosition; // Setting gesturePoint invalidate layout
        [self swapCellAtPoint:gesturePosition];
        [self manageScrollWithReferencePoint:gesturePosition];
    }
    else
    {
        [self.collectionView performBatchUpdates:^
        {
            layout.selectedItem = nil;
            layout.gesturePoint = CGPointZero; …
Run Code Online (Sandbox Code Playgroud)

scroll drag-and-drop uiscrollview uicollectionview

59
推荐指数
3
解决办法
5万
查看次数