小编PVi*_*itt的帖子

如何减少结构尺寸

我有一个包含几个结构的类库,每个结构由几个值和引用类型组成.大多数值类型是必需的,一些值类型和所有引用类型都是可选的.所有结构都是XmlSerializable(必须的).

至于类库是针对移动设备的,我想减少内存占用.我的第一个想法是使用Nullable<T>值类型,但这会使内存大小增加4个字节Nullable<T>.我的第二个想法是将所有可选值类型打包到一个单独的结构中,该结构仅在需要任何成员时进行实例化.但这会迫使我IXmlSerializable在"主要"结构上实施.

有没有其他方法来"缩小"结构?

[编辑]

请原谅这个糟糕的问题.我想我必须澄清一些事情并且更具体:

类库旨在序列化数据信息GPX(GPS交换格式).结构例如是Waypoint或Track.它们具有纬度,经度等必填字段.可选字段为垂直/水平/位置精度稀释,描述,链接.

该库主要针对移动设备,如PDA.RAM很短,但可以使用大量非易失性存储器.

只要没有代码示例就无法显示.我想在开始实施之前考虑几个陷阱.

.net c# data-structures

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

在C中堆栈类型的脚印

我有以下功能

void DoSomething(int start[10], int end[10])
Run Code Online (Sandbox Code Playgroud)

当我通过它来称呼它

void Do(void)
{
  int start[10] = {1,2,3,4,5,6,7,8,9,0};
  int end[10] = {1,2,3,4,5,6,7,8,9,0};
  DoSomething(start,end);
}
Run Code Online (Sandbox Code Playgroud)

我在堆栈上放了两个指针(8个字节全部在一起)还是两个40个字节的数组?

c arrays stack

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

c#歧义错误

我是Java新手,并且在模糊性方面遇到错误.请告诉我需要纠正的问题.

public class JessiahP3 
{
    boolean  isPlaying =  false;
    int strings  = 1;
    boolean isTuned = false;
    public String instrumentName;

    //is tuned
    public void isTuned() 
    {
        isTuned = true;
        System.out.println("Currently tuning " + getInstrumentName());
    }

    //not tuned
    public void isNotTuned() 
    {
        isTuned = false;
        System.out.println(getInstrumentName() + " is not tuned");
    }
}
Run Code Online (Sandbox Code Playgroud)

c# ambiguity

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

填充数组

你可以帮我解决用随机数填充5个圆圈阵列的问题.随机数将是圆的半径.这是我的代码:

#include <iostream>
#include <time.h>
using namespace std;

int main()
{
    // Array 2, below section is to populate the array with random radius
    float CircleArrayTwo [5]; // store the numbers
    const int NUM = 5; // Display 5 random numbers

    srand(time(NULL)); // seed the generator

    for(int i = 0; i < NUM; ++i)
    {
        CircleArrayTwo[i] = rand()%10;
    }

    cout << "Below is the radius each of the five circles in the second array. " <<   endl;
    cout << CircleArrayTwo …
Run Code Online (Sandbox Code Playgroud)

c++ arrays random

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

如何使快捷方式从 PATH 工作

我在 Windows 上有两个版本的 Python,想通过cmd. 我试图制作它们的快捷方式python.exe并将它们重命名为python26python33(我还将它们的位置添加到PATH),但不幸的是这不起作用。中的调用python26python26.lnk输出not recognized as an internal command

有没有其他方法可以做到(如 Linux virtualenv),或者我错过了我的想法?

python windows path

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

使用C#读取xml时保留新行

我有一个xml,我把它读到一个表格单元格,但似乎当有一个新行时,它用白色空格改变它.当我使用C#读取xml时,如何保留新行.

var xmlDoc = XDocument.Load(new XmlTextReader(Server.MapPath("NSrc.xml")),
LoadOptions.PreserveWhitespace); 

foreach (var descendant in xmlDoc.Descendants("NewsItem")) 
{    
    var title = descendant.Element ("Title").Value;
    TableRow rw = new TableRow();
    TableCell cell = new TableCell();

    var title = descendant.Element("Title").Value;
    var summary = descendant.Element("Summary").Value;

    cell.Text = title;
    rw.Cells.Add(cell);
    tbl.Controls.Add(rw);

    rw = new TableRow();
    cell = new TableCell();
    cell.Text = summary;
    rw.Cells.Add(cell);
    tbl.Controls.Add(rw);
}
Run Code Online (Sandbox Code Playgroud)

.net c# xml

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

任务并行性比正常执行慢?

我有点困惑,因为当我使用这段代码时:

catalog.Elements = GetElements(myProvider.Elements);
catalog.Programs = GetPrograms(myProvider.Programs);
catalog.Details = GetDetails(myProvider.Details);
Run Code Online (Sandbox Code Playgroud)

我有4秒钟.

当我尝试使用任务(.NET 4.0)时:

Task<List<Element>> elementsTask = Task.Factory.StartNew<List<Element>>(
    delegate { 
        return GetElements(myProvider.Elements); 
    });
Task<List<Program>> programsTask = Task.Factory.StartNew<List<Program>>(
    delegate { 
        return GetPrograms(myProvider.Programs); 
    });
Task<List<Detail>> detailsTask = Task.Factory.StartNew<List<Detail>>(
    delegate { 
        return GetDetails(myProvider.Details); 
    });

catalog.Elements = elementsTask.Result;
catalog.Programs = programsTask.Result;
catalog.Details = detailsTask.Result;
Run Code Online (Sandbox Code Playgroud)

我得到6秒.

当我不使用任务并行性时,它是否更快是正常的?

谢谢

.net c# task c#-4.0

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

标签 统计

c# ×4

.net ×3

arrays ×2

ambiguity ×1

c ×1

c#-4.0 ×1

c++ ×1

data-structures ×1

path ×1

python ×1

random ×1

stack ×1

task ×1

windows ×1

xml ×1