C#代码明明没有错误 为什么运行不成功? C#的问题,为什么运行不了出现错误?求帮帮忙,感谢!

C# \u4e3a\u4ec0\u4e48\u4e0b\u9762\u7684\u7a0b\u5e8f\u7f16\u8bd1\u6ca1\u6709\u9519\u8bef\uff0c\u4f46\u8fd0\u884c\u65f6\u629b\u51fa\u5f02\u5e38

\u6cdb\u578b\u63a5\u53e3\u7c7b\u578b\u7684\u6297\u53d8\u95ee\u9898\u3002\u9898\u4e3b\u53ef\u4ee5\u641c\u7d22\u4e00\u4e0b\u201c\u6cdb\u578b\u7684\u534f\u53d8\u4e0e\u6297\u53d8\u201d\u5173\u952e\u5b57\u6765\u4e86\u89e3\u4e00\u4e0b\u76f8\u5173\u8d44\u6599\u3002

\u4fee\u6539\u529e\u6cd5\uff1a
public interface IDisplay // \u6b64\u5904\u6dfb\u52a0 in \u5173\u952e\u5b57{ void Show(T item);}

\u7ea2\u6ce2\u6d6a\u7ebf\u6807\u8bb0\u7684\u53d8\u91cf\u6216\u8005\u65b9\u6cd5\uff0c\u90fd\u6ca1\u6709\u6765\u6e90\u3002
\u4f60\u5e94\u8be5\u662f\u590d\u5236\u5176\u4ed6\u4ee3\u7801\uff0c\u4f46\u662f\u4f60\u9700\u8981\u628a\u4ed6\u5bf9\u5e94\u7684\u65b9\u6cd5\u90fd\u8981\u590d\u5236\u8fc7\u6765\u3002
\u4f8b\u5982 year1 = Year; \u4f60\u5728\u4ee3\u7801\u524d\u9762\u6709\u7533\u660e year1 \u662f Int \u3002\u4f46\u662f Year \u5e76\u6ca1\u6709\u7533\u660e\u53d8\u91cf\u3002\u9519\u8bef\u5728\u8fd9\u91cc\u3002

假设你输入的身份证号为xxxxxx20130613xxxx,这时候txtID.Text.Substring(6, 8)的值为"20130613",用这个字符串去做Convert.ToDateTime()显然是会报错的,"yyyy-MM-dd"和"yyyy/MM/dd"这样格式的字符串才能被强制转换成日期格式。

所以,可改为:

try
{
    string s = txtID.Text.Substring(6, 8);//取身份证中的生日
    //这里s只是取到"20130613"这样的格式,是不行的
    s = s.Substring(0, 4) + "-" + s.Substring(4, 2) + "-" + s.Substring(6, 2);
    //这时候s的值就为"2013-06-13"
     
    Convert.ToDateTime(s);
}
catch (Exception ex)
{
    MessageBox.Show("输入错误,请重试!");
    return;
}

 

也可以直接使用syht2000提供的方法,用DateTime.ParseExact函数即可。

ParseExact是一个扩展的方法,可以用来将一个自定义的日期时间字符串转换成DateTime。
比如, 某个日期时间字符串是这样的“2008年9月12日15点14分56秒”,这就不是一个标准的日期时间字符串,不能使用Parse或者TryParse,但是可以用ParseExact。 

代码: 

string s = "2008年09月12日15点14分56秒"; 
DateTime time = DateTime.ParseExact(s, "yyyy年MM月dd日HH点mm分ss秒", null );

当然,这个函数还有其它的重载版本,甚至可以使用区域格式等,功能相当强大,自己看MSDN吧。



因为身份证中的yyyyMMdd这种日期格式并不是默认的标准格式(默认格式通常为yyyy-MM-dd hh:mm:ss)
解决方法就是将
Convert.ToDateTime(txtID.Text.Substring(6, 8));

更改为(这里的写法有些多余的,你上面都已经赋值给s了)
DateTime.ParseExact(s, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);

你试试这样:

string s = txtID.Text.Substring(6, 8);//取身份证中的生日
try 

    
    DateTime dt=Convert.ToDateTime(txtID.Text.Substring(6, 8)); 
    MessageBox.Show(dt.ToString());
}
catch (Exception ex)

    MessageBox.Show("输入错误,请重试!");
    return; 
}


取出的string s 为一串数字字符串,不可直接转换为日期,若想转换的话,需要对字符进行一些调整,如下所示:
s = s.Substring(0, 4) + "-" + s.Substring(4, 2) + "-" + s.Substring(6, 2);

首先我看到你代码有问题,
Convert.ToDateTime(txtID.Text.Substring(6, 8)); 需要用一个变量接收才行。

  • 缃戠粶涓C鍜宻c鏄粈涔堟剰鎬?
    绛旓細1銆佲C鈥滄槸鎷奸煶鈥渃hu鈥濈殑棣栧瓧姣嶏紝涓轰簡鏂逛究璧疯缂╁啓涓衡淐鈥濓紝鎸囩殑鏄鐢枫佸濂崇殑鎰忔濄2銆丼C鏄痵uperchat鐨勭缉鍐欙紝鏄粯璐圭暀瑷鍔熻兘銆傝繖涓姛鑳芥渶寮濮嬫槸YouTube2017骞翠笂绾跨殑锛孊绔欎篃鎺ㄥ嚭浜嗚繖涓姛鑳姐傝繖鏄竴绉嶅湪鐩存挱杩囩▼涓繛鎺ョ矇涓濅笌涓绘挱鐨勬柟寮忥紝鍚屾椂涔熷彲缁欎富鎾甫鏉ョ浉搴旂殑缁忔祹鏀剁泭銆傞氳繃杩欎竴鍔熻兘锛岀矇涓濆彲浠ヤ互鏄庝寒...
  • 瀛楁瘝c鐨勫彂闊宠鍒欏彛璇鏄粈涔?
    绛旓細瀛楁瘝c鐨勫彂闊宠鍒欏彛璇锛歝i銆乧e绱х浉杩烇紝c鍙慬s]闊宠蹇冮棿銆傚叾瀹冨舰寮忚帿蹇樿锛宑鍙慬k]闊虫渶甯歌銆俢鍦ㄥ瓧姣峞锛宨鎴杫鍓嶉潰鏃跺彂闊砙s]锛屽崟璇嶄妇渚嬶細city c鍦ㄥ瓧姣峚锛宱鎴杣锛屾垨鑰呭湪杈呴煶瀛楁瘝鍓嶅彂闊砙k]锛屽崟璇嶄妇渚嬶細cup c鍦ㄨ瘝灏炬椂涔熷彂[k]锛屼絾鍚庨潰鏈塭,閭h繕鍙慬s]锛屽崟璇嶄妇渚嬶細music[k]锛実race[s]-cc鍦ㄥ厓闊冲瓧...
  • c鏄粈涔堟剰鎬濈殑缂╁啓?
    绛旓細C鎸囩殑.鏄幇鍦ㄦ祦琛岀殑C鍨嬬埍鎯呰銆侰鍨嬬埍鎯呰 鈥淐鍨嬬埍鎯呰鈥濇寚鐨勬槸瀵圭幇浠g埍鎯呭叧涓绉嶆柊鐨勫畾涔夈傚湪鐖辨儏涓紝鏈夎繘鏈夐銆佺壍鎵嬪垎鎵嬬殑寰幆锛屽凡涓嶅啀鏄釜绋濂囬鏅紝鑰屸滄湁濮嬫湁缁堚濓紝鍦ㄢ淐鍨嬬埍鎯呰鈥濅腑鏈変簡宕柊鐨勫畾涔夆斺旀湁寮濮嬶紝灏卞繀鏈夌粓浜嗕箣鏃躲傚畠鐨勬渶澶х壒鐐瑰湪浜庝汉浠笉鍐嶅皢闈掓槬鑰楁崯鍦ㄤ笉鑹叧绯讳笂銆 C鍨...
  • c鐨勬剰鎬濇槸鎬庝箞鏍风殑?
    绛旓細c鐨勬剰鎬濓細1銆佸湪鍖栧涓紝琛ㄧず纰崇殑鍖栧绗﹀彿銆2銆佸湪涔愮悊涓紝琛ㄧず锛氶煶闃朵腑鐨C闊筹紝璋冨彿涓簬C闊冲紑濮嬬殑闊充箰鐨凜澶ц皟鍙奀灏忚皟锛屾媿瀛愯鍙蜂腑鐨4/4鎷嶅瓙銆3銆佸湪缃楅┈鏁板瓧涓紝琛ㄧず100銆4銆佸湪鍥介檯鍗曚綅鍒朵腑锛岃〃绀虹數鑽烽噺鐨勫崟浣嶁滃簱浠戔濄5銆佸湪璁$畻鏈虹瀛︿腑锛屾湁C璇█銆丆++銆丆#銆丱bjective-C绛夈6銆佸湪钀ュ吇瀛︿腑锛岃〃绀...
  • c鏄粈涔?
    绛旓細c鏄瓧姣嶇鍙枫C锛堝ぇ鍐欙級 銆乧锛堝皬鍐欙級鏄嫳鏂囧瓧姣嶉『鏁扮涓変釜锛屼縿璇瓧姣嶉『鏁扮19涓備緥濡傦細鑻辫鍗曡瘝cloud鍜屸滆嫃鑱斺濈殑淇勮缂╁啓小小小袪鐨勭涓涓瓧姣嶅氨鏄痗銆傝捣婧愶細锛1锛夊瓧姣岰鐨勪骇鐢熷彲鑳芥槸鐢变簬涓涓姇鎺锋鐨勭鍙凤紝鍍忓湪鍙ゅ焹鍙婄殑璞″舰鏂囧瓧閲岋紝骞跺緢鏃╁嚭鐜板湪闂棌鐨勪功闈㈠綋涓-澶х害鍦ㄥ叕鍏冨墠1500骞寸殑瑗垮鍗婂矝銆傦紙...
  • c鍦ㄥ寲瀛︿腑鎸囦粈涔堟剰鎬
    绛旓細C鍦ㄥ寲瀛︿腑鏈変袱绉嶅惈涔夛細1銆佽〃绀烘祿搴︼紝鍗曚綅涓簃ol/L锛岃绠楀紡涓猴細C=n/V. C=1000蟻蠅/M銆傚惈涔夛細浠1鍗囨憾娑蹭腑鎵鍚憾璐ㄧ殑鎽╁皵鏁拌〃绀虹殑娴撳害銆備互鍗曚綅浣撶Н閲屾墍鍚憾璐ㄧ殑鐗╄川鐨勯噺锛堟懇灏旀暟锛夋潵琛ㄧず婧舵恫缁勬垚鐨勭墿鐞嗛噺锛屽彨浣滆婧惰川鐨勬懇灏旀祿搴︼紝鍙堢О璇ユ憾璐ㄧ墿璐ㄧ殑閲忔祿搴︺傛憾璐ㄥ惈閲忚秺澶氾紝娴撳害瓒婂ぇ銆傛祿搴﹀彲浠ョ敤涓瀹...
  • C鐨勫惈涔夋槸浠涔?
    绛旓細鏁板绗﹀彿c鍙充笂瑙掓槸1鍙充笅瑙掓槸4鐨勬剰鎬濇槸鏁板涓殑缁勫悎锛屽彸涓嬭鐨4琛ㄧず鎬讳綋涓暟锛屽彸涓婅鐨1琛ㄧず鎶藉彇涓暟锛屼笖浠4涓噷闈㈡娊鍙栦竴涓紝C¹₄=4梅1=4銆傜粍鍚堬細涓鑸湴锛屼粠n涓笉鍚岀殑鍏冪礌涓紝浠诲彇m锛坢鈮锛変釜鍏冪礌涓轰竴缁勶紝鍙綔浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑涓涓粍鍚堛傛墍鏈夎繖鏍风殑缁勫悎鐨勬绘暟...
  • c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔
    绛旓細c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔,鐢ㄥ悇绉嶅悇鏍风殑绗﹀彿鏉ヤ唬鏇挎垜浠兂瑕佽〃杈剧殑鐪熷疄鎰忔濇槸鎴戜滑瀵逛竴浠芥劅鎯呯殑鍚搫琛ㄧず,涓栭棿涓囩墿瀛樺湪鐨勬剰涔夊氨鏄垜浠祴浜堢殑鍐呮兜,涓嬮潰鍒嗕韩c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔堛 c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔1 C鎸囩殑鏄幇鍦ㄦ祦琛岀殑C鍨嬬埍鎯呰銆 C鍨嬬埍鎯呰 鈥淐鍨嬬埍鎯呰鈥濇寚鐨勬槸瀵圭幇浠g埍鎯呭叧涓绉嶆柊鐨勫畾涔夈傚湪鐖辨儏涓,鏈夎繘鏈夐銆...
  • c鏄粈涔堟剰鎬?
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • c鏄粈涔堟剰鎬?
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • 扩展阅读:惠普打印机错误u1-2320 ... c语言必背100代码 ... 学c#有前途吗 ... 最浪漫的编程代码可复制 ... 惠普u12320错误怎样清除 ... c++代码大全 ... 程序源代码是什么 ... c#开发工程师 ... c#入门基础知识 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网