问题列表 - 第1587页

什么编程语言范例适合哪种工作?

据我所知(我不会承认),目前流行的编程范例是面向对象(Java,C#,Ruby)和功能(F#).作为一个大多数熟悉第一范式的人,我有几个问题:

  • 一个程序员可以简单地坚持他/她生活中的一个范例吗?或者换句话说,一把锤子的所有问题都可以减少到指甲吗?
  • 如果不是,哪种工具适合哪种类型的任务?例如:基于Web的桌面与桌面,创建漂亮且响应迅速的界面,能够快速处理数据等.
  • 人们是否需要学习新的范例?对于我过去的两份工作,我的工作场所需要Java和C#.是否有专门使用非OO语言的工作场所?

显然,没有"最好的"语言,但我想知道是否值得投入时间和精力来学习新的范例.提前致谢!

paradigms

11
推荐指数
4
解决办法
1974
查看次数

你如何在STL列表中向后迭代?

我正在Windows和Mac之间编写一些跨平台代码.

如果list :: end()"返回一个迭代器来解决列表中最后一个元素之后的位置"并且可以在向前遍历列表时进行检查,那么向后遍历的最佳方法是什么?

此代码适用于Mac但不适用于Windows(不能超出第一个元素):

list<DVFGfxObj*>::iterator iter = m_Objs.end();
for (iter--; iter!=m_Objs.end(); iter--)// By accident discovered that the iterator is circular ?
{
}
Run Code Online (Sandbox Code Playgroud)

这适用于Windows:

list<DVFGfxObj*>::iterator iter = m_Objs.end();
    do{
        iter--;
    } while (*iter != *m_Objs.begin());
Run Code Online (Sandbox Code Playgroud)

是否有另一种可以在for循环中实现的向后遍历方法?

c++ iterator stl traversal list

34
推荐指数
5
解决办法
5万
查看次数

使用Visual Studio Express Edition连接到SQL Server

我觉得很奇怪,在Visual C#2008 Express版中,当您使用数据库资源管理器时,您的选择是:

  1. Microsoft Access
  2. SQL Server Compact 3.5和
  3. SQL Server数据库文件.

但是如果使用Visual Web Developer 2008 Express,则可以连接到常规SQL Server,Oracle,ODBC等.

对于开发需要与SQL Server数据库通信的命令行或其他C#应用程序的人,您是否真的需要使用一个IDE(Visual Web Developer)和您的程序在另一个(Visual C#)中构建LINQ /数据访问代码?

这不是一个艰难的解决方法,但它似乎很奇怪.如果Microsoft想要强制您升级到Visual Studio以连接到SQL Server,为什么它们会在其中一个免费IDE中包含该功能而不包含其他IDE?我觉得我可能会遗漏一些东西(比如在Visual C#中如何做到这一切).

c# visual-web-developer visual-studio-2008

49
推荐指数
2
解决办法
10万
查看次数

28
推荐指数
3
解决办法
2万
查看次数

从另一个线程中捕获异常

我有一个单独的线程运行的方法.该线程是从Windows应用程序中的表单创建和启动的.如果从线程内部抛出异常,将其传递回主应用程序的最佳方法是什么.现在,我将对主窗体的引用传递给线程,然后从线程调用该方法,并使该方法被主应用程序线程调用.是否有最好的练习方法,因为我现在对自己的表现不满意.

我的表格示例:

public class frmMyForm : System.Windows.Forms.Form
{
    /// <summary>
    /// Create a thread
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btnTest_Click(object sender, EventArgs e)
    {
        try
        {
            //Create and start the thread
           ThreadExample pThreadExample = new ThreadExample(this);
           pThreadExample.Start();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, Application.ProductName);
        }
    }

    /// <summary>
    /// Called from inside the thread 
    /// </summary>
    /// <param name="ex"></param>
    public void HandleError(Exception ex)
    {
        //Invoke a method in the GUI's main thread
        this.Invoke(new ThreadExample.delThreadSafeTriggerScript(HandleError), new …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading exception-handling exception

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

为我的所有表单设置相同的图标

有没有办法在不必逐个更改的情况下为我的所有表单设置相同的图标?类似于在GlobalAssemblyInfo解决方案中设置所有项目的时候.

.net c# icons winforms

28
推荐指数
4
解决办法
3万
查看次数

在AS3中遇到insertChildBefore和insertChildAfter时遇到问题

我有一个XML文档:

var xml:XML = new XML(<rootNode>            
                <head> 
                    <meta name="template" content="Default" />
                </head>
                <mainSection>
                    <itemList>
                        <item>
                            <video src={this.videoURL}  />
                            <img  src={this.src}></img>
                        </item>
                    </itemList>
                </mainSection>
            </rootNode>);
Run Code Online (Sandbox Code Playgroud)

我想做的是,当我有某些条件时,在itemList的开头插入另一个条件.

var newNode:XMLList = new XMLList("<item><video src=\"" + _videoSource + "\"></video></item>");
Run Code Online (Sandbox Code Playgroud)

我能够很好地生成和跟踪newNode,但每当我尝试使用insertChildBefore它添加它时,它总是返回undefined.

var contentNode:XML = new XML(xml.mainSection.itemList.item);
xml.insertChildBefore(contentNode ,newNode)
Run Code Online (Sandbox Code Playgroud)

contentNode一直跟踪很好,但尝试时总是失败insertChildBeforeinsertChildAfter.奇怪的是,如果我contentNode不那么具体(比如xml.mainSection),那么它会按预期工作.

谢谢你的帮助,这让我疯了!

xml actionscript-3

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

在Visual Studio中更改Solution Explorer的背景颜色

有没有办法在Visual Studio中使用主题更改解决方案资源管理器的背景颜色? - 或者其他任何方式?

我可以通过改变窗口范围的颜色设置来改变它,但显然这会影响太多.

visual-studio

57
推荐指数
2
解决办法
3万
查看次数

Iterator初始化for循环内部是不好的样式,为什么?

通常你会发现这样的STL代码:

for (SomeClass::SomeContainer::iterator Iter = m_SomeMemberContainerVar.begin(); Iter != m_SomeMemberContainerVar.end(); ++Iter)
{
}
Run Code Online (Sandbox Code Playgroud)

但我们实际上有建议像这样写:

SomeClass::SomeContainer::iterator Iter = m_SomeMemberContainerVar.begin();
SomeClass::SomeContainer::iterator IterEnd = m_SomeMemberContainerVar.end();
for (; Iter != IterEnd; ++Iter)
{
}
Run Code Online (Sandbox Code Playgroud)

如果您担心范围,请添加括号:

{
    SomeClass::SomeContainer::iterator Iter = m_SomeMemberContainerVar.begin();
    SomeClass::SomeContainer::iterator IterEnd = m_SomeMemberContainerVar.end();
    for (; Iter != IterEnd; ++Iter)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该可以提高速度和效率,特别是在编程控制台的情况下,因为在循环的每次迭代中都不会调用.end()函数.我只是把性能提升视为理所当然,这听起来很合理,但我不知道它有多少,它肯定取决于容器的类型和实际使用的STL实现.但是,使用这种风格已经有几个月了,我实际上更喜欢它.

可读性的原因是:for line干净整洁.在实际生产代码预选赛和成员变量这是很容易有长行,如果你在第一个例子中使用的样式.这就是为什么我故意让它在这个例子中有一个水平滚动条,只是让你看到我在说什么.;)

另一方面,您突然将Iter变量引入for循环的外部范围.但是,至少在我工作的环境中,即使在第一个例子中,也可以在外部范围内访问Iter.

你对此有什么看法?除了可能限制Iter的范围之外,还有第一种风格的专业人士吗?

c++ iteration iterator stl coding-style

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

MasterPage是否知道正在显示的页面?

当我在使用MasterPages的网站上导航时,应用程序是否知道我在哪个页面?如果是这样,它是否存储在我可以访问的对象中?

我问的原因是我可以替换这个:

//masterpage 
<div id="nav_main">
   <ul><asp:ContentPlaceHolder ID="navigation" runat="server">                    
   </asp:ContentPlaceHolder></ul>
</div>

//content page(s)
<asp:Content ContentPlaceHolderID="navigation" ID="theNav" runat="server">
   <li><a href="default.aspx">Home</a></li>
   <li id="current"><a href="faq.aspx">FAQ</a></li>
   <li><a href="videos.aspx">Videos</a></li>
   <li><a href="#">Button 4</a></li>
   <li><a href="#">Button 5</a></li>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

使用更优雅的导航解决方案,通过将列表项的ID设置为"当前"来突出显示页面的链接.目前,每个页面都会重新创建导航,并将其相应链接的ID设置为当前.

navigation asp.net master-pages

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