小编Tim*_*hyP的帖子

适用于.NET Micro Framework的BitArray替代方案

是否有针对.NET Micro Framework的BitArray替代方案?我在考虑简单地使用bool [],但是如何将它转换回byte []?

在完整的框架中,考虑"位"是BitArray,以下工作:

byte[] data = new byte[dimensions / 8];
bits.CopyTo(data, 0);
Run Code Online (Sandbox Code Playgroud)

但我似乎无法在微框架中找到BitArray类

.net .net-micro-framework bitarray

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

jQuery性能 - 类选择器

我有以下HTML:

<div class="foo">
    <div class="bar">
        <div class="target">
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

哪个选择器效率更高?

  • $('.foo > .bar > .target')
  • $('.foo .bar .target')
  • $('.target')

我订的是正确的吗?:)

jquery jquery-selectors

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

适用于Android的Mono Xamarin设计师使用的主题是什么?

在Visual Studio中使用Mono for Android设计器时,
控件有一个很好的干净设计,但只要您在设备(模拟器或真实)上运行应用程序,
控件就会有完全不同的样式:

在此输入图像描述

这是因为设计师使用了一个特定的主题,如果是这样的话,或者我还需要做些什么才能在设备上获得与设计师相同的风格?

android android-layout xamarin.android

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

IronPython - 在C#4.0应用程序中从字符串加载脚本

我有以下代码(只是一个测试):

var engine = Python.CreateEngine();
var runtime = engine.Runtime;

    try
    {                
        dynamic test = runtime.UseFile(@"d:\test.py");

        test.SetVariable("y", 4);
        test.SetVariable("client", UISession.ControllerClient);
        test.Simple();
    }
    catch (Exception ex)
    {
        var eo = engine.GetService<ExceptionOperations>();
        Console.WriteLine(eo.FormatException(ex));
    }
Run Code Online (Sandbox Code Playgroud)

但我想从字符串加载脚本.

c# ironpython embedding

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

为什么不在C18编译?

我正在尝试使用MPLAB C18 v3.36编译器编译以下代码.

编译器在'char rij;'上返回语法错误.但是,当我把char rij; 早些时候(在TRISA = ...之前),它编译......

void setup(void)
{
 TRISD = 0b00000000;
 TRISA = 0b00000000;
 char rij;
 for (rij = 0; rij<ROWS; rij++)
 {
 red_byte_array[rij]=0;
 green_byte_array[rij]=0;
 blue_byte_array[rij]=0;
 }    
}
Run Code Online (Sandbox Code Playgroud)

c microchip pic18

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

.NET Micro Framework,读取内存有限的设备上的文件

在ChipworkX设备上,我们将使用以下方法读取文件:

File.ReadAllBytes(filename);
Run Code Online (Sandbox Code Playgroud)

但是如果我们在内存量少得多的NetDuino Plus上尝试,
我们就会得到一个OutOfMemoryException.

文件不是那么大,但我想在这种情况下都是相对的(最大1.5kb).

在这样的设备上读取文件的正确方法是什么?

c# memory .net-micro-framework netduino

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

db4o似乎不存储添加到List <T>的项目

假设我有一个看起来像这样的模型(假的,但作为一个例子)

public class PackageItem
{
    public string Name { get; set;}
    public bool Available { get; set;}
}

public class Package
{
    public string Recipient { get; set;}
    public List<PackageItem> Items { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

首先创建一个新的Package实例,只需将Recipient设置为某个值.

一段时间后,(数据库已经关闭),我从数据库中检索它并向其中添加项目:

var packages = database.Query<Package>()
foreach(var package in packages)
{
    package.Recipient = "Bla bla bla";
    package.Items.Add(new PackageItem() { Name = "SomeName", Available = true });
    database.Store(package);
}
database.Commit();
Run Code Online (Sandbox Code Playgroud)

此时,对Recipient属性的更改将保存在数据库中,但不会添加Items属性.

我发现有关db4o的一些信息,因为对List的引用没有改变而且db4o不知道List本身的更改,所以不知道发生了什么变化......这是正确的吗?

那么在使用db4o时应该如何处理List of T?

*更新:*我想要执行

database.Store(package.Items);
Run Code Online (Sandbox Code Playgroud)

会有所帮助,但事实并非如此.

这都是在Debian上使用db4和von 4上的db4o v8

.net c# db4o

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

为什么在反转一个字节中的位时会得到以下输出?

假设:

将字节[]从Little Endian转换为Big Endian意味着反转byte []的每个字节中的位的顺序.

假设这是正确的,我尝试了以下内容来理解这一点:

byte[] data = new byte[] { 1, 2, 3, 4, 5, 15, 24 };
byte[] inverted = ToBig(data);

var little = new BitArray(data);
var big = new BitArray(inverted);

int i = 1;

foreach (bool b in little)
{
    Console.Write(b ? "1" : "0");
    if (i == 8)
    {
        i = 0;
        Console.Write(" ");
    }
    i++;
}

Console.WriteLine();

i = 1;

foreach (bool b in big)
{
    Console.Write(b ? "1" : "0");
    if (i == …
Run Code Online (Sandbox Code Playgroud)

.net c# endianness

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

提高线程效率

我有以下代码,它将读取文件的字节,然后构造8个单独的字符串,一旦完成,8个字符串将拼凑在一起但是当读取500mb文件时,这段代码需要超过10个小时,然后我放弃运行它.

反正是在提高这段代码的效率,以便它可以更快地运行?

namespace ConsoleApplication1
{
    public class object1
    {
        public static Byte[] split1 = new Byte[18082460];
        public static Byte[] split2 = new Byte[18082460];
        public static Byte[] split3 = new Byte[18082460];
        public static Byte[] split4 = new Byte[18082460];
        public static Byte[] split5 = new Byte[18082460];
        public static Byte[] split6 = new Byte[18082460];
        public static Byte[] split7 = new Byte[18082460];
        public static Byte[] split8 = new Byte[18082452];

        public static String[] output = new String[8];

        public void run1()
        {
            for (int i = …
Run Code Online (Sandbox Code Playgroud)

c# multithreading

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