Tag: C#的

如何从XmlDocument中selectXML命名空间的XML节点?

我的代码尝试从网站的RSS提要中获取数据。 它抓取的节点很好,但是当试图用冒号从一个节点获取数据时,它会崩溃,并给出错误“名称空间pipe理器或XsltContext需要,这个查询有一个前缀,variables或用户定义的函数。 代码如下所示: WebRequest request = WebRequest.Create("http://buypoe.com/external.php?type=RSS2&lastpost=true"); WebResponse response = request.GetResponse(); StringBuilder sb = new StringBuilder(""); System.IO.StreamReader rssStream = new System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8")); XmlDocument rssDoc = new XmlDocument(); rssDoc.Load(rssStream); XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item"); for (int i = 0; i < 5; i++) { XmlNode rssDetail; rssDetail = rssItems.Item(i).SelectSingleNode("dc:creator"); if (rssDetail != null) { user = rssDetail.InnerText; […]

UWP装订风格安装程序无法正常工作

我有创buildxaml控制的问题。 我正在通用应用程序中编写VS 2015中的新项目。 我想创build网格。 在这个网格中,我想要一个button。 在模型中,我指定了列(Level)和行。 这是我的代码: <ItemsControl Grid.Row="1" ItemsSource="{Binding Path=TechnologyList}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Grid> <Grid.RowDefinitions> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> </Grid.ColumnDefinitions> </Grid> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> […]

为什么我的结构的成员没有使用`{}`正确初始化?

我有以下代码: #include <iostream> struct T { int a, b, c; }; int main() { T t = {0}; std::cout << ta << ',' << tb << ',' << tc << '\n'; } 输出 : 0,0,0 经过多年的代码运行,在关键的生产环境中快乐地工作,发挥了至关重要的作用,项目的需求发生了变化,需要的输出是1,1,1 。 所以,我将{0}更改为{1} : #include <iostream> struct T { int a, b, c; }; int main() { T t = […]

initializer_list和模板types的扣除

考虑一下function: template<typename T> void printme(T&& t) { for (auto i : t) std::cout << i; } 或任何其他函数期望与一个begin()/ end()启用types的一个参数。 为什么以下是非法的? printme({'a', 'b', 'c'}); 当所有这些都是合法的: printme(std::vector<char>({'a', 'b', 'c'})); printme(std::string("abc")); printme(std::array<char, 3> {'a', 'b', 'c'}); 我们甚至可以这样写: const auto il = {'a', 'b', 'c'}; printme(il); 要么 printme<std::initializer_list<char>>({'a', 'b', 'c'});

什么是C ++指针的默认构造函数?

我有这样的代码: class MapIndex { private: typedef std::map<std::string, MapIndex*> Container; Container mapM; public: void add(std::list<std::string>& values) { if (values.empty()) // sanity check return; std::string s(*(values.begin())); values.erase(values.begin()); if (values.empty()) return; MapIndex *mi = mapM[s]; // <- question about this line if (!mi) mi = new MapIndex(); mi->add(values); } } 我主要关心的是mapM [s]expression式是否将返回引用空指针,如果新项目添加到地图? SGI文档说: data_type&operator [](const key_type&k)返回与特定键相关联的对象的引用。 如果地图尚未包含这样的对象,则operator []将插入默认对象data_type()。 […]

Thread.Sleep(1)在C#中的影响是什么?

在Windows窗体应用程序中调用Thread.Sleep(1)的影响是什么,如下面的代码所示: public Constructor() { Thread thread = new Thread(Task); thread.IsBackground = true; thread.Start(); } private void Task() { while (true) { // do something Thread.Sleep(1); } } 这个线程会占用所有可用的CPU吗? 我可以使用哪些分析技术来衡量此线程的CPU使用率(除了任务pipe理器)?

C#:将null传递给重载的方法 – 调用哪个方法?

假设我有两个C#方法的重载版本: void Method( TypeA a ) { } void Method( TypeB b ) { } 我将这个方法称为: Method( null ); 该方法的哪个重载被调用? 我能做些什么来确保一个特定的超载被称为?

定位C ++ 03时使用std :: basic_string <t>作为连续缓冲区是否合理?

我知道在C ++ 03中,从技术上说, std::basic_string模板不需要具有连续的内存。 不过,我很好奇现代编译器有多less实现可以利用这个自由。 例如,如果想要使用basic_string来接收一些C API的结果(比如下面的例子),那么分配一个向量直接把它变成一个string似乎很愚蠢。 例: DWORD valueLength = 0; DWORD type; LONG errorCheck = RegQueryValueExW( hWin32, value.c_str(), NULL, &type, NULL, &valueLength); if (errorCheck != ERROR_SUCCESS) WindowsApiException::Throw(errorCheck); else if (valueLength == 0) return std::wstring(); std::wstring buffer; do { buffer.resize(valueLength/sizeof(wchar_t)); errorCheck = RegQueryValueExW( hWin32, value.c_str(), NULL, &type, &buffer[0], &valueLength); } while (errorCheck == ERROR_MORE_DATA); […]

CreateProcess:没有这样的文件或目录

当我尝试在安装目录(E:\ MinGW \ bin)之外运行GCC时,出现此错误。 所以,假设我在E:\ code中,并有一个名为one.c的文件。 运行: gcc one.c -o one.exe会给我这个错误: gcc: CreateProcess: No such file or directory 唯一的解决方法是导航到其安​​装目录,从那里运行gcc,并指定所有其他path。 我的环境variables“path”包含E:\MinGW\bin 。 任何build议来解决这个问题? 我正在运行Windows XP SP3。

如何检查给定的c + +string或字符*只包含数字?

或者从相反的方向find第一个非数字字符。 相同的函数是否适用于string和char *?