问题列表 - 第36783页

如何删除C中的标志?

有一个变量,它包含一些标志,我想删除其中一个.但我不知道如何删除它.

这是我如何设置标志.

my.emask |= ENABLE_SHOOT;
Run Code Online (Sandbox Code Playgroud)

c flags bit-manipulation

142
推荐指数
3
解决办法
8万
查看次数

指针向量的迭代器没有正确解除引用

这是我的问题:

我有一个std::vector<AguiWidgetBase*>用于跟踪儿童控制的东西.

我有这两个函数来返回迭代器:

std::vector<AguiWidgetBase*>::const_iterator AguiWidgetBase::getChildBeginIterator() const
{
    return children.begin();
}

std::vector<AguiWidgetBase*>::const_iterator AguiWidgetBase::getChildEndIterator() const
{
    return children.end();
}
Run Code Online (Sandbox Code Playgroud)

然后我像这样使用它:

for(std::vector<AguiWidgetBase*>::const_iterator it = box->getChildBeginIterator(); 
    it != box->getChildEndIterator(); ++it)
{
    it->setText("Hello World");
}
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

Error   3   error C2039: 'setText' : is not a member of 'std::_Vector_const_iterator<_Ty,_Alloc>'   c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\main.cpp   112
Error   2   error C2839: invalid return type 'AguiWidgetBase *const *' for overloaded 'operator ->' c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\main.cpp   112
Run Code Online (Sandbox Code Playgroud)

为什么它会给我这些错误?

谢谢

c++ iterator vector

6
推荐指数
2
解决办法
1万
查看次数

如何从WCF服务获取Debug/Trace.Writeline输出

我在IIS中托管了WCF服务.我正在获取WCF跟踪,但我无法找到trace.writeline条目的位置.我的跟踪侦听器仅记录WCF跟踪.是否需要添加特定的源以包含此内容.

wcf trace

6
推荐指数
1
解决办法
3424
查看次数

如何渲染一个独立的Unicode字符(阿拉伯语),如果它是在一个单词中呈现的话?

在书面阿拉伯语中,字符的外观取决于它们在一个单词中的位置.例如,字母ta可能看起来像这样:字里面的Ë但看起来像这样:Ë如果它独立.我有一些阿拉伯文字,例如:

string word = ???????? ;
Run Code Online (Sandbox Code Playgroud)

当我渲染word整个单词时,它会正确呈现.现在,我想解析字符串并一次打印出单词中的每个字母.但是,如果我这样做:

foreach(char c in word.ToCharArray())
{
    Debug.Print(c.ToString());  
}
Run Code Online (Sandbox Code Playgroud)

char c没有打印出来,因为它是在一个字的背景下呈现的信的原始表示,相反,它打印出相同的阿拉伯字母就好像自己提供.如何解析我的阿拉伯文字串,以便返回的字母与显示为整个字时的字母相同?

我想在c#中这样做.

c# unicode arabic

5
推荐指数
1
解决办法
1354
查看次数

redis for asp.net mvc,客户端选项?

我正在考虑将redis用于asp.net mvc应用程序,毫无疑问redis本身的生产可行性,我认为它已经过测试.

但是在.net世界的任何地方都没有提到它,只有来自redis站点的客户端才是c#的servicestackredis.

所以问题是你使用redis for .net应用程序吗?servicestackredis生产准备好了吗?redis的其他任何替代客户端?

redis

6
推荐指数
1
解决办法
3265
查看次数

如何防止Visual Studio提示从app.config更新.settings文件

我们使用.settings文件来存储我们的应用程序设置,并在那里使用默认值,这样我们就不需要配置每个设置了.这一般都很好.

但是,在开发过程中我们会经常更改app.config中的值,这意味着当我们打开.settings文件时,我们总是会在app.config文件中更改"设置'x'的值."你想要吗?更新.settings文件中的值?"

替代文字

在我们的例子中,正确的做法是始终单击否,否则开发设置可以相对容易地进入测试和生产环境.但是,既然我们是人类,那并不总是会发生什么.更糟糕的是,默认按钮为"是".

我们可以在某种程度上删除人类元素并使Visual Studio不要问我们这个吗?或者我们是否应该放弃依赖默认设置并在app.config中为每个单一环境中的每个设置定义一个显式条目?

settings configuration app-config web-config visual-studio-2008

6
推荐指数
1
解决办法
1212
查看次数

从未知来源转换C#数据类型

在将字符串(通常)转换为适当的数据类型时,似乎存在很多混淆,同时也在动态验证它.无论我在哪里 - 博客,文章,代码示例,论坛......一些人似乎有一种处理这些场景的首选方式.

案例通常是来自未知来源的字符串/对象,例如QueryString,Session/Viewstate,WebService等等......

我见过很多不同的例子:

假设我们正在尝试获取id=查询字符串并将其作为整数用于我们的代码中.但是有人篡改了我们的网址并将其更改为

http://www.example.com/page.aspx?id=sometextvalue

单程

int id = Convert.ToInt32(Request["id"]);
// "Input string was not in a correct format"
Run Code Online (Sandbox Code Playgroud)

其他方式

int id = (int)Request["id"];
// "Input string was not in a correct format"
Run Code Online (Sandbox Code Playgroud)

还有另一种方式

int id = int.Parse(Request["id"]);
// "Input string was not in a correct format"
Run Code Online (Sandbox Code Playgroud)

我见过这个 (并且抛出异常并通知用户是有意义的)

int id = 0;
try {
    id = Convert.ToInt32(Request["id"]);
}
catch(Exception ex) {
    lblError.Text = ex.Message;
}
if(id > 0) { ... }
Run Code Online (Sandbox Code Playgroud)

最后,和我个人使用的那个

int …
Run Code Online (Sandbox Code Playgroud)

c# types

1
推荐指数
1
解决办法
2094
查看次数

双击DataGridView行?

我在winform上使用vb.net和DataGridView.

当用户双击某行时,我想对此行执行某些操作.但是,如何知道用户是单击某行还是仅在网格中的任何位置?如果我使用DataGridView.CurrentRow那么如果选择了一行并且用户点击了网格上的任何地方,则当前行将显示所选择的而不是用户单击的位置(在这种情况下,它将不在一行上而我想忽略它).

vb.net datagridview double-click winforms

11
推荐指数
1
解决办法
7万
查看次数

从.NET中的VBA函数访问返回值?

我在VBA中有以下代码(驻留在Excel 2007工作簿中):

Public Function Multiply(a As Double, b As Double) As Double
    Multiply = a * b
End Function
Run Code Online (Sandbox Code Playgroud)

如果我从其他VBA代码调用Multiply,它将返回正确的值.但是,当我从C#调用Multiply时:

var excel = new Application {Visible = true};
excel.Workbooks.Open(filename);
var returned = excel.Run("Sheet1.Multiply", (Double) a, (Double) b);
Run Code Online (Sandbox Code Playgroud)

...乘法发生(我可以通过向VBA中的Multiply函数添加跟踪来验证这一点)但是返回的值在我的C#代码中不可用; returned永远null.

有人可以告诉我如何从我的C#代码中获取Multiply的返回值吗?

.net c# excel vba office-interop

6
推荐指数
1
解决办法
2962
查看次数

使用turbo C有什么问题?

我总是发现有些人(大多数来自印度)正在使用turbo C.我找不到任何理由使用这种过时的编译器...但我不知道在试图告诉他们使用现代编译器时给出的理由是什么( GCC,MSVC,...).

c c99 turbo-c

12
推荐指数
3
解决办法
3124
查看次数