在看到和听取很多关于托管和非托管代码之后,并且知道唯一的区别是托管是关于CLR而非托管是在CLR之外,这让我非常好奇地了解它.它是什么,托管和非托管代码,内存和大小?
我在C#中编写的代码如何是非托管的,而这是C#代码,以及大小的内存如何变得不受管理.一个例子和一点点见解会有所帮助.
我有IEnumerable,其中包含数字数据.
编辑 IEnumerable来自System.Collection.Ienumerable指令.
附上了Viual Studio的snapShot,包含数据的枚举:
alt text http://www.freeimagehosting.net/uploads/bd72c6c310.jpg
为了简要介绍上面的图像,eLevelData是IEnumerable变量,我有我的数据.
现在我想转到索引4或5的数据,但我不想使用foreach循环.请给我任何建议.
谢谢,
Subhen
如果我创建一个相对较大的结构,我如何计算它在内存中占用的字节数?
我们可以手动完成,但如果结构足够大,那么我们该怎么做呢?是否有一些代码块或应用程序?
我有一个类,让我们说CAppPath有一个静态方法:
public:
static CString GetAppPath();
Run Code Online (Sandbox Code Playgroud)
并在CAppPath.cpp其中定义为:
CString CAppPath::GetAppPath()
{
return "C:\..\MypAth";
}
Run Code Online (Sandbox Code Playgroud)
现在我有另一个班CXMLHandler,我已经加入CAppPath.h了.但是我如何调用该GetAppPath()方法?我试过了:
#include "CAppPath.h"
void CXMLHandler::MyMethod
{
CNDSClientDlg->GetAppPath();
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我应该如何访问此方法?由于它是一个静态方法,我是否需要创建该类的对象,还是应该使该类本身是静态的?
我有一个WPF应用程序.在构建它时,我收到以下错误:
无法加载文件或程序集或其依赖项之一.参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))
应用程序正在尝试从虚拟驱动器加载程序集(作为调试文件夹)
例如:[subst r:c:[我的装配箱pth]
之前我将c:\ bin安装为网络驱动器,并且出现了以下错误.
该程序集可能已从Web下载.如果已从Web下载程序集,则Windows将其标记为Web文件,即使它驻留在本地计算机上也是如此.这可能会阻止它在您的项目中使用.您可以通过更改文件属性来更改此指定.仅取消阻止您信任的程序集.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=179545.
编辑:顺便说一句,我无法在属性窗口中找到"取消阻止"按钮.
根据MSDN:
静态构造函数不接受访问修饰符或具有参数.
在创建第一个实例或引用任何静态成员之前,会自动调用静态构造函数来初始化类.
无法直接调用静态构造函数.
任何人都可以解释为什么静态构造函数不能有参数.
由于我不能将LPCSTR从一个函数传递到另一个函数(数据被更改),我尝试将其作为字符串传递.
但后来我需要再次将其转换回LPSTR.在尝试转换时,我收到上述错误:
无法从'std :: string'转换为'LPSTR'
我该如何解决这个问题?
可能重复:
为什么我需要虚拟表?
什么是C++中的vtAble?
要知道vtable是一个虚拟表,它有一个指向虚函数的指针数组.是否有一篇实际实施的文章?(任何走过将不胜感激)
我有一个JSON请求,其结构如下:
"formats": {
"flash_embed": "http://a3.vikiassets.com/assets/vikiplayer-922746a667cfd38137a7e45df6ba1b95.swf?auto_play=true&language_codes=en&media_id=74965&partner=16&source=api_v3",
"m3u8": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965/ios.m3u8",
"res-150p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_mp4cell_150.mp4",
"res-240p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_240p.mp4",
"res-270p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_270p.mp4",
"res-360p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_360p.mp4",
"res-480p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_480p.mp4",
"res-720p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_720p.mp4"
}
}
Run Code Online (Sandbox Code Playgroud)
现在res-150p,在C#中说出无效名称,如果我给它另一个名字,那么在取消手术时我没有得到任何值,在res-150p内是null.
编辑:
[Serializable]
MoviesListRootObject是包含Response然后Response包含的根对象Formats
public class MoviesListRootObject
{
public int count { get; set; }
public Pagination pagination { get; set; }
public List<Response> response { get; set; }
}
[Serializable]
public class Response
{
public int id { get; set; }
public int channel_id { get; set; }
public string title { …Run Code Online (Sandbox Code Playgroud)