首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将方法从一种类型转换为另一种类型

如何将方法从一种类型转换为另一种类型
EN

Stack Overflow用户
提问于 2012-01-12 04:06:59
回答 4查看 156关注 0票数 2

我在ACCESS 2010上使用VS2010为一家医院构建windows表单应用程序。我想创建一个生成Patient的方法:

代码语言:javascript
复制
public string GetCurrentDate()
{
    DateTime currentDate = new DateTime();
    string todaydate = currentDate.ToShortDateString().ToString();
    return todaydate;
}

public Int32 MalePatient()
{
    return 1;
}

public Int32 FemalePatient()
{
    return 2;
}

public Int32 RadomNum()
{
  Random randomNumer = new Random();
  Int32 number = randomNumer.Next(0, 1000);
  return number;
}

public string GeneratePatientNumber();
{
    patientNumber = Convert.ToString(GetCurrentDate())"+ "-"  ????
}

此格式的数字:

代码语言:javascript
复制
"Date of Enrollment" + "PatientGender" +"randomNumber"
Example of Male patientNumber of type string:2012-1-10
Example of Female patientNumber of type string:2012-2-8
Female=2
Male=1

但是我在使用GeneratePatientNumber方法时遇到了一个问题,该方法将另一个方法转换为一个字符串,并将它们连接起来,就像上面的两个示例一样。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-12 04:29:34

代码语言:javascript
复制
public enum Gender
{
    Male = 1,
    Female = 2
}

class PatientNumberGenerator
{
    private static Random _random = new Random();

    public string GetCurrentDate()
    {
        return DateTime.Today.ToShortDateString();
    }

    public int RadomNum()
    {
        return _random.Next(0, 1000);
    }

    public string GeneratePatientNumber(Gender gender)
    {
        return GetCurrentDate() + "-" + (int)gender + "-" + RadomNum();
    }
}

您可以用以下命令调用它

代码语言:javascript
复制
var generator = new PatientNumberGenerator();
string patientNumber = generator.GeneratePatientNumber(Gender.Female);

小心使用Random类。每次创建新实例时,都会从当前日期和时间生成一个种子值。这决定了生成的第一个随机数。如果你以非常快的速度调用你的RanomNum()几次,那么它可能会生成相同的随机数,因为你电脑的内部时钟的分辨率是有限的。这就是为什么我将它声明为静态成员的原因。这将只创建一次_random

票数 3
EN

Stack Overflow用户

发布于 2012-01-12 04:16:25

String.Join可能就是你要找的东西:

代码语言:javascript
复制
public string GeneratePatientNumber()
{
    return string.Join(
        "-", 
        Convert.ToString(GetCurrentDate()), 
        GetGenderCode().ToString(),
        RadomNum().ToString());
}

当然,您需要定义GetGenderCode方法,以便它根据患者的性别返回预期的代码。

票数 0
EN

Stack Overflow用户

发布于 2012-01-12 04:25:37

我认为你应该使用这个:

代码语言:javascript
复制
public string GetCurrentDate()
{
DateTime currentDate = DateTime.Now;
string todaydate = currentDate.ToShortDateString().ToString();
return todaydate;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8825873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档