Tag: C#的

glBindVertexArrays与glBindBuffer的作用是什么?他们的关系是什么?

我是OpenGL和graphics编程的新手。 我一直在阅读一本迄今为止写得非常透彻而且写得很好的教科书。但是,我在代码中遇到了一些我不太清楚的地方,所以我想在这之前理解这些内容。继续。 GLuint abuffer; glGenVertexArrays(1, &abuffer); glBindVertexArray(abuffer); GLuint buffer; glGenBuffers(1, &buffer); glBindBuffer(GL_ARRAY_BUFFER, buffer); glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); 这本书解释了前三行是创build一个顶点数组对象 ,它用来捆绑关联的数据与顶点数组。 第二行find一个未使用的名称(我猜一个无符号的整数标识符存储在abuffer ),第三行创build对象/使其处于活动状态。 本书解释了第4-7行创build一个缓冲对象来存储我们的数据,第5行给我们一个未使用的标识符(类似于第2行的顶点数组对象?),第6行创build缓冲区,第7行在CPU上分配足够的内存并为GL_STATIC_DRAW创build指向我们数据(点)的GL_STATIC_DRAW 。 这个对象是什么意思? 你什么时候可以使用abuffer ? 顶点数组绑定关联数据是什么意思,什么时候与这个顶点数组关联的数据? 我对abuffer和buffer之间的关系感到困惑。 我很困惑顶点数组与缓冲对象的关系是什么,以及这个关系是在什么时候形成的。 我不确定他们是否实际上是相关的,但是他们是在一个接一个地出现在教科书中的。 任何帮助,将不胜感激。 谢谢。

由DataContractSerializer创build的XML的格式

有没有一种简单的方法让DataContractSerializer吐出格式化的XML而不是一个长string? 我不想以任何方式更改标签或内容,只需要添加换行符和缩进来使XML更具可读性。 <tagA> <tagB>This is</tagB> <tagC>Much</tagC> <tagD> <tagE>easier to read</tagE> </tagD> </tagA> <tagA><tagB>This is</tagB><tagC>Much</tagC><tagD><tagE>harder to read</tagE></tagD></tagA>

通过reflection获得公共静态字段的值

这是我迄今为止所做的: var props = typeof (Settings.Lookup).GetFields(); Console.WriteLine(props[0].GetValue(Settings.Lookup)); // Compile error, Class Name is not valid at this point 这是我的静态类: public static class Settings { public static class Lookup { public static string F1 ="abc"; } }

在.Net中,如何将ArrayList转换为强types的通用列表而不使用foreach?

请参阅下面的代码示例。 我需要ArrayList是一个通用的列表。 ArrayList arrayList = GetArrayListOfInts(); List<int> intList = new List<int>(); //Can this foreach be condensed into one line? foreach (int number in arrayList) { intList.Add(number); } return intList;

Console.WriteLine不显示在输出窗口中

我已经把一些Console.WriteLine调用来testing,但他们没有出现在输出框? public static ArrayList myDeliveries = new ArrayList(); public mainForm(){ InitializeComponent(); } private void mainForm_Load(object sender, EventArgs e){ if (!File.Exists("../../MealDeliveries.txt")){ MessageBox.Show("File not found!"); return; } using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){ //first line is delivery name string strDeliveryName = sr.ReadLine(); Console.WriteLine("Test content"); while (strDeliveryName != null){ //other lines Delivery d = new Delivery( strDeliveryName, sr.ReadLine(), […]

该项目没有设置OutputPath属性

当我尝试从Visual Studio 2008中的x86debugging模式编译我的项目时,出现此错误。 当我看着抱怨的项目的属性组,我看到输出path被设置。 这是.csproj文件的属性组部分 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <DebugSymbols>true</DebugSymbols> <OutputPath>bin\x86\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <BaseAddress>285212672</BaseAddress> <FileAlignment>4096</FileAlignment> <DebugType>full</DebugType> <PlatformTarget>x86</PlatformTarget> <ErrorReport>prompt</ErrorReport> 任何人都可以在这一点上发光吗? 注意:当我编译这个debugging和任何CPU它的工作。 已更新:错误1未为此项目设置OutputPath属性。 请检查以确保您已指定有效的configuration/平台组合。 Configuration ='Debug'Platform ='x86'

c ++ deque vs队列vs堆栈

队列和堆栈是一个被广泛提及的结构。 但是,在C ++中,对于队列,您可以通过两种方式来实现: #include <queue> #include <deque> 但对于堆栈,你只能这样做 #include <stack> 我的问题是,queue和deque之间有什么区别,为什么两个结构提出? 对于堆栈,可以包含任何其他结构?

C的“坏”function与他们的“好”替代品

C中的“坏”function是什么,他们的“好”select是什么? 为什么坏的坏,什么使好的好? 我知道,例如, gets()是“坏”的,因为它没有任何forms的边界检查。 什么是更好的select? fgets() ? 我听说scanf()是坏的,但我不记得为什么。 有人知道吗? 什么是最好的select? 还有更多吗?

风格上的差异:IDictionary vs Dictionary

我有一个朋友在Java开发了很久之后才开始进行.NET开发,在看了他的一些代码之后,我发现他经常这样做: IDictionary<string, MyClass> dictionary = new Dictionary<string, MyClass>(); 他将字典声明为接口而不是类。 通常我会做以下几点: Dictionary<string, MyClass> dictionary = new Dictionary<string, MyClass>(); 在需要的时候,我只会使用IDictionary接口(比如将字典传递给一个接受IDictionary接口的方法)。 我的问题是:他的做事方式有什么好处吗? 这在Java中是一种常见的做法吗?

使用Elmah MVC无法访问生产服务器上的/ elmah?

我安装了elmah.mvc nuget软件包,并保留了那个sans的默认configuration,设置发送一封电子邮件并将其插入SQL数据库。 在我的本地机器上使用Visual Studio主机时,我可以打开我的应用程序并访问/ elmah,以查看错误报告。 但是,当我尝试访问/ elmah生产时,我得到两个错误,首先我得到一个403 access is denied服务器错误。 然后在我的电子邮件(从elmah)我得到: System.Web.HttpException: Server cannot set status after HTTP headers have been sent. 任何人都知道这里发生了什么,以及如何解决? 谢谢。 到目前为止,我尝试了以下答案的build议: 在<system.webServer> <handlers> <add name="elmah" verb="GET" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/> </handlers> 并在<system.web> <httpHandlers> <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> </httpHandlers> 我尝试设置pathelmah.axd和简单~/elmah elmah.axd 。 所有仍然给同样的错误,仍然在当地工作,但不是在生产。 编辑:它实际上也有效当我远程进入服务器,并通过浏览器访问它(不使用本地,但实际的网站地址)。 那么我没有什么权限? 看起来像是在服务器级别。