none
新手几个问题 RRS feed

  • 问题

  • 1. vb可以写case 1-3, c#是不是不可以这样写?一定要

    case1:

    case2:

    case3:

    如果case是1-100,那不就很麻烦??

     

    2. vb的每一个控件都可以选择功能,如textbox有keypress,keydown...但我发现c#没有这样的选择,要手动输入。是这样的吗?

    3. string ttl;这样是不是不允许的呢?

    4.   MessageBox.Show(num.ToString);为什么这样不允许?一定要这样MessageBox.Show(Convert.ToString(num));那么num.ToString什么时候可以用?

    2011年12月25日 12:40

答案

  • 补充说明:

    1)C#中你应该比较“讨巧”地判断在某个范围内的数字,用case估计不行;你可以使用3.5中Enumerable扩展类去做:

    int n = 10;
     
                if (Enumerable.Range(1, 100).Contains(n))
                {
     
                }

     第三问:尽管可以,不推荐这样做。好的习惯是人为赋予一个初始化的初值,这样可以告诉它我一开始是什么,便于程序调试。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2011年12月26日 1:45
    版主
  • 1. vb可以写case 1-3, c#是不是不可以这样写?一定要

    case1:

    case2:

    case3:

    如果case是1-100,那不就很麻烦??

    C#也可以写case 1-3

    只是依照您的题意C#可以这样做

     

    int num=50;

    if(num>=1 && num<=100)

    {

     // do something...

    }

     

    2. vb的每一个控件都可以选择功能,如textbox有keypress,keydown...但我发现c#没有这样的选择,要手动输入。是这样的吗?

    在C#您要对着控件按F4键叫出属性视窗,里头有个闪电符号就是您要的东西

    3. string ttl;这样是不是不允许的呢?

    允许的

    4. MessageBox.Show(num.ToString);为什么这样不允许?一定要这样MessageBox.Show(Convert.ToString(num));那么num.ToString什么时候可以用?

    您写错了吧,正确为MessageBox.Show(num.ToString());



    • 已编辑 Shadow .Net 2011年12月25日 16:29
    • 已标记为答案 ckjason 2011年12月26日 7:53
    2011年12月25日 16:28
  • 第4问题,在vb里num.tostring是允许的,那两个有什么分别?

    在C#呼叫method,名称一定有括符的

    vb.net的话,我是觉得也要加括符,不加括符的写法,大概是要让写VB6的开发人员习惯吧

    http://msdn.microsoft.com/zh-cn/library/system.object.tostring(v=VS.100).aspx#Y178

     


    • 已标记为答案 ckjason 2011年12月26日 7:53
    2011年12月26日 7:32

全部回复

  • 1. vb可以写case 1-3, c#是不是不可以这样写?一定要

    case1:

    case2:

    case3:

    如果case是1-100,那不就很麻烦??

    C#也可以写case 1-3

    只是依照您的题意C#可以这样做

     

    int num=50;

    if(num>=1 && num<=100)

    {

     // do something...

    }

     

    2. vb的每一个控件都可以选择功能,如textbox有keypress,keydown...但我发现c#没有这样的选择,要手动输入。是这样的吗?

    在C#您要对着控件按F4键叫出属性视窗,里头有个闪电符号就是您要的东西

    3. string ttl;这样是不是不允许的呢?

    允许的

    4. MessageBox.Show(num.ToString);为什么这样不允许?一定要这样MessageBox.Show(Convert.ToString(num));那么num.ToString什么时候可以用?

    您写错了吧,正确为MessageBox.Show(num.ToString());



    • 已编辑 Shadow .Net 2011年12月25日 16:29
    • 已标记为答案 ckjason 2011年12月26日 7:53
    2011年12月25日 16:28
  • 补充说明:

    1)C#中你应该比较“讨巧”地判断在某个范围内的数字,用case估计不行;你可以使用3.5中Enumerable扩展类去做:

    int n = 10;
     
                if (Enumerable.Range(1, 100).Contains(n))
                {
     
                }

     第三问:尽管可以,不推荐这样做。好的习惯是人为赋予一个初始化的初值,这样可以告诉它我一开始是什么,便于程序调试。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2011年12月26日 1:45
    版主
  • 1. vb可以写case 1-3, c#是不是不可以这样写?一定要

    case1:

    case2:

    case3:

    如果case是1-100,那不就很麻烦??

    C#也可以写case 1-3

    只是依照您的题意C#可以这样做

     

    int num=50;

    if(num>=1 && num<=100)

    {

     // do something...

    }

     

    2. vb的每一个控件都可以选择功能,如textbox有keypress,keydown...但我发现c#没有这样的选择,要手动输入。是这样的吗?

    在C#您要对着控件按F4键叫出属性视窗,里头有个闪电符号就是您要的东西

    3. string ttl;这样是不是不允许的呢?

    允许的

    4. MessageBox.Show(num.ToString);为什么这样不允许?一定要这样MessageBox.Show(Convert.ToString(num));那么num.ToString什么时候可以用?

    您写错了吧,正确为MessageBox.Show(num.ToString());



    第4问题,在vb里num.tostring是允许的,那两个有什么分别?
    2011年12月26日 7:21
  • 第4问题,在vb里num.tostring是允许的,那两个有什么分别?

    在C#呼叫method,名称一定有括符的

    vb.net的话,我是觉得也要加括符,不加括符的写法,大概是要让写VB6的开发人员习惯吧

    http://msdn.microsoft.com/zh-cn/library/system.object.tostring(v=VS.100).aspx#Y178

     


    • 已标记为答案 ckjason 2011年12月26日 7:53
    2011年12月26日 7:32