Tag: C#的

如何从文件中删除单个属性(例如ReadOnly)?

假设一个文件具有以下属性: ReadOnly, Hidden, Archived, System 。 我怎样才能删除一个属性? (例如ReadOnly) 如果我使用: Io.File.SetAttributes("File.txt",IO.FileAttributes.Normal) 它删除所有的属性。

我应该使用哪一个STL容器作为FIFO?

哪个STL容器最适合我的需求? 我基本上有一个10个元素的容器,在这个容器中我不断push_back新元素,同时pop_front最老的元素(大约一百万次)。 我目前正在使用一个std::deque的任务,但想知道如果一个std::list将更有效,因为我不需要重新分配自己(或者我误解std::deque std::vector ?)。 还是有一个更有效的容器,我的需要? PS我不需要随机访问

boost :: asio :: io_service运行方法块/解锁时混淆

作为Boost.Asio的初学者,我很困惑io_service::run() 。 我将不胜感激,如果有人可以向我解释,当这种方法阻止/解锁。 文件指出: run()函数阻塞,直到所有的工作完成,并且没有更多的处理程序被分派,或者直到io_service被停止。 多个线程可能会调用run()函数来设置一个线程池, io_service可以从中执行处理程序。 在池中等待的所有线程都是相等的, io_service可以select其中的任何一个来调用处理程序。 run()函数的正常退出意味着io_service对象被停止( stopped()函数返回true)。 除非事先调用reset()否则对run() , run_one() , poll()或poll_one()后续调用将立即返回。 以下声明是什么意思? 没有更多的处理者被派遣[…] 在试图理解io_service::run()的行为的时候,我遇到了这个例子 (例3a)。 在其中,我观察到io_service->run()阻塞并等待工作订单。 // WorkerThread invines io_service->run() void WorkerThread(boost::shared_ptr<boost::asio::io_service> io_service); void CalculateFib(size_t); boost::shared_ptr<boost::asio::io_service> io_service( new boost::asio::io_service); boost::shared_ptr<boost::asio::io_service::work> work( new boost::asio::io_service::work(*io_service)); // … boost::thread_group worker_threads; for(int x = 0; x < 2; ++x) { worker_threads.create_thread(boost::bind(&WorkerThread, io_service)); } io_service->post( […]

有没有简单的方法来返回可能为空的值?

我怎样才能写出以下情况的简写? get { if (_rows == null) { _rows = new List<Row>(); } return _rows; }

'do … while'与'while'

可能重复: 虽然与做同时 什么时候应该使用do-while而不是while循环? 我已经编程了一段时间(2年工作+ 4.5年学位+ 1年大学预科),而且我从来没有使用过编程入门课程中被迫使用的do-while循环。 我越来越觉得,如果我从来没有碰到如此基本的东西,那么我在做编程错误。 难道我只是没有遇到正确的情况? 有什么样的例子需要使用do-while而不是一段时间? (我的学校几乎都是用C / C ++编写的,而且我的工作是用C#编写的,所以如果有另外一种语言,那么绝对有意义,因为生存时间的工作方式不同,那么这些问题就不适用了。 澄清…我知道一段while和一段while的区别。 在检查退出条件,然后执行任务。 do-while执行任务,然后检查退出条件。

检查一个对象是否是C#中的一个数字

我想检查一个对象是否是一个数字,以便.ToString()将导致包含数字和+ , – ,的string. 是否可以通过在.net中简单的types检查(如: if (p is Number) )? 或者我应该转换为string,然后尝试parsing加倍? 更新:澄清我的对象是int,uint,float,double等等,它不是一个string。 我想做一个函数,将任何对象序列化到XML如下所示: <string>content</string> 要么 <numeric>123.3</numeric> 或引发exception。

可空types:在c#中检查null或零的最佳方法

我正在一个项目,我发现我在许多地方检查以下内容: if(item.Rate == 0 || item.Rate == null) { } 更像一个好奇的东西,什么是检查这两种情况的最好方法? 我已经添加了一个辅助方法,它是: public static bool nz(object obj) { var parsedInt = 0; var parsed = int.TryParse(obj.ToString(), out parsedInt); return IsNull(obj) || (parsed && parsedInt == 0); } 有没有更好的办法?

我应该在我的C ++代码中使用printf吗?

我通常使用cout和cerr将文本写入控制台。 不过有时我发现使用旧的printf语句更容易。 我需要格式化输出时使用它。 我将使用这个的一个例子是: // Lets assume that I'm printing coordinates… printf("(%d,%d)\n", x, y); // To do the same thing as above using cout…. cout << "(" << x << "," << y << ")" << endl; 我知道我可以使用cout格式化输出,但我已经知道如何使用printf 。 有什么理由不应该使用printf语句吗?

如何获得星期几的整数值

如何以整数格式获得一周的哪一天? 我知道ToString将只返回一个string。 DateTime ClockInfoFromSystem = DateTime.Now; int day1; string day2; day1= ClockInfoFromSystem.DayOfWeek.ToString(); /// it is not working day2= ClockInfoFromSystem.DayOfWeek.ToString(); /// it gives me string

不能使用Server.MapPath

我必须做什么才能使Server.MapPath工作? 我using System.Web; 还有什么? 当我键入Server没有快速结果选项(智能感知)。 任何帮助?