Tag: C#的

指针运算在C中

考虑下面的代码片段: int (*p)[3]; int (*q)[3]; q = p; q++; printf("%d, %d\n", q, p); printf("%d\n", qp); 我知道指针运算是智能的,这意味着操作q++提前q足够多的字节指向下一个3整数数组,所以我不惊讶第一个打印是12, 0 ',这意味着增加q在12日更大。 但是第二张照片确实给我带来了惊喜。 它打印1! 那么为什么要打印1而不是12呢? 它只是困惑我。

inputstring的格式不正确

我是新来的C#,我有一些Java的基本知识,但我不能让这个代码正常运行。 这只是一个基本的计算器,但是当我运行该程序VS2008给我这个错误: 我做了几乎相同的程序,但使用JSwing的Java,它完美的工作。 这里是c#的forms: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace calculadorac { public partial class Form1 : Form { int a, b, c; String resultado; public Form1() { InitializeComponent(); a = Int32.Parse(textBox1.Text); b = Int32.Parse(textBox2.Text); } private void button1_Click(object sender, EventArgs e) { add(); […]

很好的方式来追加向量自己

我想复制向量的内容,并希望它们被添加到原始向量的末尾,即v[i]=v[i+n] for i=0,2,…,n-1 我正在寻找一个很好的方式来做到这一点,而不是一个循环。 我看到std::vector::insert但迭代版本禁止迭代器*this (即行为是未定义的)。 我也尝试了std::copy如下(但它导致分段错误): copy( xx.begin(), xx.end(), xx.end());

格式date在C#

如何将date格式设置为dd/mm/yyyy或mm/dd/yy ? 就像VB format("dd/mm/yy",now) 我怎样才能在C#中做到这一点?

为什么在C#中使用简单的属性而不是字段?

可能重复: 我应该使用公共财产和私人领域或公共领域的数据? 自动属性和C#3.0中的公共字段的区别 人们似乎在教条上坚持使用公共财产,而为什么在简单财产的情况下,它是如此地极其重要? 怎么 public int Foo { get; set; } 如此令人难以置信的不同 public int Foo; ? 在我的头顶,我可以想到两者之间的实际差异: 使用reflection访问成员(罕见的,最体面的reflectionalgorithm将考虑到差异) 第二个条目允许您使用该字段作为ref和out参数的有效参数,这似乎是使用字段版本的优势 字段不能在远程处理(可能,我从来没有使用远程处理,但我想他们不会)? 除了这些相当罕见的情况之外,将Foo更改为计算属性稍后会导致更改0行代码。

元程序化:函数定义的失败定义了一个独立的函数

在这个答案中,我定义了一个基于types的is_arithmetic属性的模板: template<typename T> enable_if_t<is_arithmetic<T>::value, string> stringify(T t){ return to_string(t); } template<typename T> enable_if_t<!is_arithmetic<T>::value, string> stringify(T t){ return static_cast<ostringstream&>(ostringstream() << t).str(); } dyp表明 ,而不是该types的is_arithmetic属性,是否为该types定义了to_string是模板select条件。 这显然是可取的,但我不知道这样说: 如果未定义std::to_string则使用ostringstream重载。 声明to_string条件很简单: template<typename T> decltype(to_string(T{})) stringify(T t){ return to_string(t); } 这是与我无法弄清楚如何构build的标准相反的。 这显然不起作用,但希望它传达了我想要构build的东西: template<typename T> enable_if_t<!decltype(to_string(T{})::value, string> (T t){ return static_cast<ostringstream&>(ostringstream() << t).str(); }

C ++警告:从string常量到'char *'的弃用转换

我正在使用gnuplot在C ++中绘制graphics。 该图正在按预期进行绘图,但在编译期间出现警告。 警告是什么意思? warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] 这是我正在使用的function: void plotgraph(double xvals[],double yvals[], int NUM_POINTS) { char * commandsForGnuplot[] = {"set title \"Probability Graph\"", "plot 'data.temp' with lines"}; FILE * temp = fopen("data.temp", "w"); FILE * gnuplotPipe = popen ("gnuplot -persistent ", "w"); int i; for (i=0; i < NUM_POINTS; […]

C#“参数无效”,创build新的位图

如果我尝试创build大于19000像素的位图,则会显示以下错误:参数无效。 我该如何解决这个问题? System.Drawing.Bitmap myimage= new System.Drawing.Bitmap(20000, 20000);

BackgroundWorker RunWorkerCompleted事件

我的C#应用​​程序有几个后台工作人员。 有时候一个后台工作人员会开火。 当第一个后台工作器完成并且RunWorkerCompleted事件被触发时,该事件将在哪个线程触发,UI或调用RunWorkerAsync的第一个后台工作器? 我正在使用Microsoft Visual C#2008速成版。 任何想法或build议,你可能会感激。 谢谢。

C#中的自动属性是什么?它们的目的是什么?

有人可以提供一个非常简单的解释在C#自动属性,他们的目的,也许一些例子? 请尽量保持外行的态度。