当前位置:编程学习 > C#/ASP.NET >>

c#获得本月份是本季度的第几个月

        public int GetMonthOfQuarter(int month)
        {
            int num = month % 3;
            if (num == 0)
            {
                return 3;
            }
            return num;
        }
复制代码
有更好的算法欢迎各位留言拍砖 转载请注明出处C#教程 --------------------编程问答--------------------
引用楼主 sanrenxue 的回复:
转载请注明出处C#教程


代码风格真差。还好意思来这里现眼。
就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。

看我的:


/// <summary>
/// Get month sequence of the quarter.
/// Notice: valid month range is [1 -- 12]
/// </summary>
/// <param name="month">month value.</param>
/// <returns>month sequence of the quarter</returns>
public int GetMonthSeqOfQuarter(int month)
{
    if (month < 1 || month > 12)
    {
        string message = string.Format("Input parameter month ({0}) out of range[1 -- 12].", month);
        throw new ArgumentOutOfRangeException("month", message);
    }

    int k = (month - 1) / 3;
    return month - 3 * k;
}
--------------------编程问答-------------------- 楼上的真理 --------------------编程问答--------------------
引用 1 楼 xinyaping 的回复:
引用楼主 sanrenxue 的回复:
转载请注明出处C#教程


代码风格真差。还好意思来这里现眼。
就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。

看我的:

C# code

/// <summary>
/// Get month sequence of the quarter.
/// Notice: val……

楼上这位代码测试过吗 --------------------编程问答--------------------
引用 3 楼  的回复:
引用 1 楼 xinyaping 的回复:

引用楼主 sanrenxue 的回复:
转载请注明出处C#教程


代码风格真差。还好意思来这里现眼。
就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。

看我的:

C# code

/// <summary>
/// Get month sequence of t……
我题目看错了,不好意思,看成通过月份返回季度了 --------------------编程问答--------------------
引用 4 楼  的回复:
我题目看错了,不好意思,看成通过月份返回季度了


看错了没关系。

通过月份返回季度的帖子在这里,楼主所发的代码依然是一贯的差。我也帮他纠正过来了:

C#如何把月份转换成季度
http://topic.csdn.net/u/20120229/10/b90d2437-13df-4532-8c2a-719004b2dfef.html --------------------编程问答-------------------- 我一个新人,自认为代码风格比这个要好 --------------------编程问答-------------------- 话说,这东西有必要整这么复杂么,一年就12个月,直接在函数写成固定的不就行了 --------------------编程问答--------------------
引用 7 楼 amy19830704 的回复:
话说,这东西有必要整这么复杂么,一年就12个月,直接在函数写成固定的不就行了



嗯,查表法,也是以空间换时间的常用作法。

--------------------编程问答--------------------
引用 6 楼 cc627944668 的回复:
我一个新人,自认为代码风格比这个要好


贴代码。
--------------------编程问答--------------------
引用 6 楼 cc627944668 的回复:
我一个新人,自认为代码风格比这个要好


贴代码。
--------------------编程问答-------------------- mark. --------------------编程问答-------------------- 我算是服了,被这段神一样的代码逼出来了,LZ如此神奇的代码,按照CSDN的一贯风格,应该是有专人苦思冥想一个通宵,然后换一个标题党无比的噱头推荐到主页上去的啊,为什么还没人做呢?快啊,管理员,快啊,快取个“C#实现惊天神奇功能,代码暴强秒杀微软苹果”之类的标题放到主页上去啊! --------------------编程问答-------------------- 其实只需return (i+2) % 3 + 1即可,前置判断什么的就不重复了

在LUA里,有时候由于宿主的限制,无法抛出异常什么的,只能是返回nil(也即Null)表示无效或者异常,那么LUA可以这样做:

tTable = {1,2,3,1,2,3,1,2,3,1,2,3}
return tTable[i]

即可。LUA的表默认以1为下标开始,且不存在的元素会返回空。 --------------------编程问答-------------------- 1l很奋 --------------------编程问答--------------------    public int GetMonthOfQuarter(int month)
    {
        int num = month / 3;
        if (month % 3 == 0)
        {
            num = num - 1;
        }
        return num + 1;
    } --------------------编程问答--------------------
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,