Tag: C#的

从XML文档获取指定的节点值

我遇到了一个XML文档(使用C#)的问题,并获得所有必要的值。 我成功通过XML文档中的所有指定的XmlNodeLists,成功获取所有的XmlNode值,但是我必须得到这个XmlNodeList之外的一些值。 例如: <?xml version="1.0" encoding="UTF-8" ?> <Element xsi:schemaLocation="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd xsd2009027_kor21.xsd" Kod="370" xmlns="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> /2001/XMLSchema-instance"> <ANode> <BNode> <CNode> <Example> <Name>John</Name> <NO>001</NO> </Example> </CNode> </BNode> <ID>1234</ID> <Date>2011-10-01</Date> </ANode> <ANode> <BNode> <CNode> <Example> <Name>Mike</Name> <NO>002</NO> </Example> </CNode> </BNode> <ID>5678</ID> <Date>2011-03-31</Date> </ANode> </Element> 这是在XML文档中的每个find的节点上获取节点Name和NO值的代码: XmlDocument xml = new XmlDocument(); xml.LoadXml(myXmlString); //myXmlString is the xml file in string //copying xml […]

协变在C#

是否有可能在C#4.0中将List<Subclass> List<Superclass>为List<Superclass> ? 沿着这些线路的东西: class joe : human {} List<joe> joes = GetJoes(); List<human> humanJoes = joes; 这不是协变的原因吗? 如果你能做到: human h = joe1 as human; 你为什么不能做呢 List<human> humans = joes as List<human>; 比(joe)人类[0]是不合法的,因为这个项目已经被拒绝了,每个人都会很高兴。 现在唯一的select是创build一个新的列表

反序列化json数组stream一次一个项目

我将一个大对象的数组序列化为一个json http响应stream。 现在我想从这个stream反序列化这些对象。 有没有任何C#库,可以让我这样做? 我看了json.net,但似乎我不得不反序列化一次完整的数组对象。 [{large json object},{large json object}…..] 澄清:我想一次从stream中读取一个json对象并将其反序列化。

C#中的正则expression式组

我已经inheritance了一个包含下面的正则expression式的代码块,我试图了解它是如何得到它的结果。 var pattern = @"\[(.*?)\]"; var matches = Regex.Matches(user, pattern); if (matches.Count > 0 && matches[0].Groups.Count > 1) … 对于inputuser == "Josh Smith [jsmith]" : matches.Count == 1 matches[0].Value == "[jsmith]" …我明白了 但是之后: matches[0].Groups.Count == 2 matches[0].Groups[0].Value == "[jsmith]" matches[0].Groups[1].Value == "jsmith" <=== how? 从我所了解的“集团”系列中可以看出整个比赛以及之前的比赛。 但是,上面的正则expression式不仅仅匹配[方括号] [文本] [方括号],那么为什么“jsmith”匹配呢? 另外,总是这样的情况下,这个组合集合将会存储两组:整个比赛和最后一场比赛?

C#:什么是最简单的方法来减去时间?

我试图把一个能帮助我制定工作时间表的工具放在一起。 什么是解决以下问题的最简单方法? 上午8:00 + 5小时=下午1:00 和 下午5点 – 2点=下午3点 和 5:30 pm – :45 = 4:45 等等。

closures它们后重新打开stdout和stdin文件描述符

我正在写一个函数,给定一个参数,将redirect到一个文件或从文件读取标准input。 为此,我closures与stdout或stdin关联的文件描述符,这样当我打开文件时,它会在我刚刚closures的描述符下打开。 这个工作,但问题是,一旦完成,我需要恢复标准输出和标准input,他们应该真正的。 我可以做的标准输出是打开(“/ dev / tty”,O_WRONLY); 但我不知道为什么这个工作,更重要的是我不知道stdin的等价语句。 所以我有,为标准输出 close(1); if (creat(filePath, O_RDWR) == -1) { exit(1); } 和stdin close(0); if (open(filePath, O_RDONLY) == -1) { exit(1); }

将整个文本文件读入C中的char数组中

我想将文本文件的内容读入C中的char数组中。必须保留新行。 我如何做到这一点? 我在网上find了一些C ++解决scheme,但是没有C ++解决scheme。 编辑:我现在有以下代码: void *loadfile(char *file, int *size) { FILE *fp; long lSize; char *buffer; fp = fopen ( file , "rb" ); if( !fp ) perror(file),exit(1); fseek( fp , 0L , SEEK_END); lSize = ftell( fp ); rewind( fp ); /* allocate memory for entire content */ buffer = calloc( 1, […]

C ++中main的签名参数是否具有unsiged和const限定符?

该标准明确指出, main有两个有效的(即保证工作)签名; 即: int main(); int main(int, char*[]); 我的问题很简单,像下面这样是合法的吗? int main(const unsigned int, const char* const* argv); 我的testing说'是',但我不确定的答案,因为我没有重载main通过更改int为unsigned int以及非顶级const的argv? 如果我是,那么这显然是禁止的。 那么,这些修改是否能够保证符合标准的编译器?

整数文字的types不是默认的int?

我刚刚回答了这个问题 ,它问到为什么迭代循环要花费更多的时间(10分钟后OP才会中止),直到迭代到10亿次为止: for (i = 0; i < 10000000000; i++) 现在我和其他人的明显答案是,这是由于迭代variables是32位(从未达到100亿),并且循环变得无限循环。 但是,虽然我意识到这个问题,我仍然想知道在编译器内部究竟发生了什么? 由于文字没有附加L ,因此它应该是inttypes,因此也是32位。 所以由于溢出,它应该是一个正常的int范围内的可达性。 要真正地认识到它不能从int到达,编译器需要知道它是100亿,因此将其视为32位以上的常量。 即使没有附加L ,这样的文字是否会被自动提升到拟合(或至less是实现定义的)范围(在本例中至less是64位),并且是这种标准行为? 或者在幕后发生了一些不同的事情,比如由于溢出而导致的UB(实际上是UB的整数溢出)? 如果有的话,标准中的一些引用可能会很好。 尽pipe原来的问题是C,但是我也很感激C ++的答案,如果有的话。

在ASP.NET Core中将Razor View渲染为string

我使用RazorEngine在我的MVC 6项目中parsing模板,如下所示: Engine.Razor.RunCompile(File.ReadAllText(fullTemplateFilePath), templateName, null, model); 它工作正常的beta6。升级到beta7后,错误: MissingMethodException:Method not found:“Void Microsoft.AspNet.Razor.CodeGenerators.GeneratedClassContext.set_ResolveUrlMethodName(System.String)”。 在RazorEngine.Compilation.CompilerServiceBase.CreateHost(Type templateType,Type modelType,String className) 这是global.json: { "projects": [ "src", "test" ], "sdk": { "version": "1.0.0-beta7", "runtime": "clr", "architecture": "x64" } } 这是project.json: … "dependencies": { "EntityFramework.SqlServer": "7.0.0-beta7", "EntityFramework.Commands": "7.0.0-beta7", "Microsoft.AspNet.Mvc": "6.0.0-beta7", "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7", "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7", "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7", "Microsoft.AspNet.Authentication.Google": "1.0.0-beta7", "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7", "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7", "Microsoft.AspNet.Diagnostics": […]