c#.net常用函数列表

简介:

None.gif 1 、DateTime 数字型 
None.gifSystem.DateTime currentTime
= new  System.DateTime(); 
None.gif
1.1  取当前年月日时分秒 
None.gifcurrentTime
= System.DateTime.Now; 
None.gif
1.2  取当前年 
None.gif
int  年 = currentTime.Year; 
None.gif
1.3  取当前月 
None.gif
int  月 = currentTime.Month; 
None.gif
1.4  取当前日 
None.gif
int  日 = currentTime.Day; 
None.gif
1.5  取当前时 
None.gif
int  时 = currentTime.Hour; 
None.gif
1.6  取当前分 
None.gif
int  分 = currentTime.Minute; 
None.gif
1.7  取当前秒 
None.gif
int  秒 = currentTime.Second; 
None.gif
1.8  取当前毫秒 
None.gif
int  毫秒 = currentTime.Millisecond; 
None.gif(变量可用中文) 
None.gif
None.gif
1.9  取中文日期显示——年月日时分 
None.gif
string  strY = currentTime.ToString( " f " );  // 不显示秒 
None.gif

None.gif
1.10  取中文日期显示_年月 
None.gif
string  strYM = currentTime.ToString( " y " ); 
None.gif
None.gif
1.11  取中文日期显示_月日 
None.gif
string  strMD = currentTime.ToString( " m " ); 
None.gif
None.gif
1.12  取当前年月日,格式为: 2003 - 9 - 23  
None.gif
string  strYMD = currentTime.ToString( " d " ); 
None.gif
None.gif
1.13  取当前时分,格式为: 14 24  
None.gif
string  strT = currentTime.ToString( " t " ); 
None.gif
None.gif
2 、Int32.Parse(变量) Int32.Parse( " 常量 "
None.gif字符型转换 转为32位数字型 
None.gif
None.gif
3 、 变量.ToString() 
None.gif字符型转换 转为字符串 
None.gif
12345 .ToString( " n " );  // 生成 12,345.00 
None.gif
12345 .ToString( " C " );  // 生成 ¥12,345.00 
None.gif
12345 .ToString( " e " );  // 生成 1.234500e+004 
None.gif
12345 .ToString( " f4 " );  // 生成 12345.0000 
None.gif
12345 .ToString( " x " );  // 生成 3039 (16进制) 
None.gif
12345 .ToString( " p " );  // 生成 1,234,500.00% 
None.gif

None.gif
None.gif
4 、变量.Length 数字型 
None.gif取字串长度: 
None.gif如: 
string  str = " 中国 "
None.gif
int  Len  =  str.Length ;  // Len是自定义变量, str是求测的字串的变量名 
None.gif

None.gif
5 、System.Text.Encoding.Default.GetBytes(变量) 
None.gif字码转换 转为比特码 
None.gif如:
byte [] bytStr  =  System.Text.Encoding.Default.GetBytes(str); 
None.gif然后可得到比特长度: 
None.giflen 
=  bytStr.Length; 
None.gif
None.gif
6 、System.Text.StringBuilder( ""
None.gif字符串相加,(
+ 号是不是也一样?) 
None.gif如:System.Text.StringBuilder sb 
=   new  System.Text.StringBuilder( "" ); 
None.gifsb.Append(
" 中华 " ); 
None.gifsb.Append(
" 人民 " ); 
None.gifsb.Append(
" 共和国 " ); 
None.gif
None.gif
7 、变量.Substring(参数1,参数2); 
None.gif截取字串的一部分,参数1为左起始位数,参数2为截取几位。 
None.gif如:
string  s1  =  str.Substring( 0 , 2 ); 
None.gif
None.gif
8 、String user_IP = Request.ServerVariables[ " REMOTE_ADDR " ].ToString(); 
None.gif取远程用户IP地址 
None.gif
None.gif
9 、穿过代理服务器取远程用户真实IP地址: 
ExpandedBlockStart.gif
if (Request.ServerVariables[ " HTTP_VIA " ] != null )
InBlock.gif
string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 
ExpandedBlockStart.gif}
else
InBlock.gif
string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
10 、 Session[ " 变量 " ]; 
None.gif存取Session值; 
None.gif如,赋值: Session[
" username " ] = " 小布什 "
None.gif
None.gif取值: Object objName
= Session[ " username " ]; 
None.gifString strName
= objName.ToString(); 
None.gif清空: Session.RemoveAll(); 
None.gif
None.gif
11 、String str = Request.QueryString[ " 变量 " ]; 
None.gif用超链接传送变量。 
None.gif如在任一页中建超链接:
< a href = Edit.aspx ? fbid = 23 > 点击 </ a >  
None.gif在Edit.aspx页中取值:String str
= Request.QueryString[ " fdid " ]; 
None.gif
None.gif
12 、DOC对象.CreateElement( " 新建节点名 " ); 
None.gif创建XML文档新节点 
None.gif
None.gif
13 、父节点.AppendChild(子节点); 
None.gif将新建的子节点加到XML文档父节点下 
None.gif
None.gif
14 、 父节点.RemoveChild(节点); 
None.gif删除节点 
None.gif
None.gif
15 、Response 
None.gifResponse.Write(
" 字串 " ); 
None.gifResponse.Write(变量); 
None.gif向页面输出。 
None.gif
None.gifResponse.Redirect(
" URL地址 " ); 
None.gif跳转到URL指定的页面 
None.gif
None.gif
16 char .IsWhiteSpce(字串变量,位数)——逻辑型 
None.gif查指定位置是否空字符; 
None.gif如: 
None.gif
string  str = " 中国 人民 "
None.gifResponse.Write(
char .IsWhiteSpace(str, 2 ));  // 结果为:True, 第一个字符是0位,2是第三个字符。 
None.gif

None.gif
17 char .IsPunctuation( '''' 字符 '''' -- 逻辑型 
None.gif查字符是否是标点符号 
None.gif如:Response.Write(
char .IsPunctuation( '''' A '''' ));  // 返回:False 
None.gif

None.gif
18 、( int ) '''' 字符 ''''  
None.gif把字符转为数字,查代码点,注意是单引号。 
None.gif如: 
None.gifResponse.Write((
int ) '''' '''' );  // 结果为中字的代码:20013 
None.gif

None.gif
19 、( char )代码 
None.gif把数字转为字符,查代码代表的字符。 
None.gif如: 
None.gifResponse.Write((
char ) 22269 );  // 返回“国”字。 
None.gif

None.gif
20 、 Trim() 
None.gif清除字串前后空格 
None.gif
None.gif
21  、字串变量.Replace( " 子字串 " , " 替换为 "
None.gif字串替换 
None.gif如: 
None.gif
string  str = " 中国 "
None.gifstr
= str.Replace( " " , " " );  // 将国字换为央字 
None.gif
Response.Write(str);  // 输出结果为“中央” 
None.gif

None.gif再如:(这个非常实用) 
None.gif
None.gif
string  str = " 这是<script>脚本 "
None.gifstr
= str.Replace( " < " , " <font><</font> " );  // 将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原) 
None.gif
Response.Write(str);  // 显示为:“这是<script>脚本” 
None.gif

None.gif如果不替换,
< script > 将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。 
None.gif这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 
None.gif具体实现:将你的表单提交按钮脚本加上下面代码: 
None.gif
string  strSubmit = label1.Text;  // label1是你让用户提交数据的控件ID。 
None.gif
strSubmit = strSubmit.Replace( " < " , " <font><</font> " ); 
None.gif然后保存或输出strSubmit。 
None.gif用此方法还可以简单实现UBB代码。 
None.gif
None.gif
22 、Math.Max(i,j) 
None.gif取i与j中的最大值 
None.gif如 
int  x = Math.Max( 5 , 10 );  //  x将取值 10 
None.gif

ExpandedBlockStart.gif
23 、字串对比一般都用:  if (str1 == str2) { }  , 但还有别的方法: 
None.gif
None.gif(
1 )、 
None.gif
string  str1; str2 
None.gif
// 语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: 
ExpandedBlockStart.gif
if (str1.EndsWith(str2)) { Response.Write("字串str1是以"+str2+"结束的"); }  
None.gif
None.gif(
2 )、 
None.gif
// 语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 
None.gif

None.gif(
3 )、 
None.gif
// 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 
None.gif

None.gif
24 、IndexOf() 、LastIndexOf() 
None.gif查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如: 
None.gifstr1.IndexOf(
" " );  // 查找“字”在str1中的索引值(位置) 
None.gif
str1.IndexOf( " 字串 " ); // 查找“字串”的第一个字符在str1中的索引值(位置) 
None.gif
str1.IndexOf( " 字串 " , 3 , 2 ); // 从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置) 
None.gif

None.gif
25 、Insert() 
None.gif在字串中指定索引位插入指定字符。如: 
None.gifstr1.Insert(
1 , " " );在str1的第二个字符处插入“字”,如果str1 = " 中国 " ,插入后为“中字国”; 
None.gif
None.gif
26 、PadLeft()、PadRight() 
None.gif在字串左(或右)加空格或指定char字符,使字串达到指定长度,如: 
None.gif
<%  
None.gif
string  str1 = " 中国人 "
None.gifstr1
= str1.PadLeft( 10 , '''' 1 '''' );  // 无第二参数为加空格 
None.gif
Response.Write(str1);  // 结果为“1111111中国人” , 字串长为10 
None.gif
%>  
None.gif
None.gif
27 、Remove() 
None.gif从指定位置开始删除指定数的字符 
ExpandedBlockStart.gif字串对比一般都用: 
if (str1 == str2) { }  , 但还有别的方法: 
None.gif
None.gif
1 、 
None.gif
string  str1; str2 
None.gif
// 语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: 
ExpandedBlockStart.gif
if (str1.EndsWith(str2)) { Response.Write("字串str1是以"+str2+"结束的"); }  
None.gif
None.gif
2 、 
None.gif
// 语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 
None.gif

None.gif
3 、 
None.gif
// 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 
None.gif

None.gif28.IndexOf() 
None.gif查找字串中指定字符或字串首次出现的位置,返首索引值,如: 
None.gifstr1.IndexOf(
" " );  // 查找“字”在str1中的索引值(位置) 
None.gif
str1.IndexOf( " 字串 " ); // 查找“字串”的第一个字符在str1中的索引值(位置) 
None.gif
str1.IndexOf( " 字串 " , 3 , 2 ); // 从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)

None.gif Abs(number) 取得数值的绝对值。   
None.gifAsc(String) 取得字符串表达式的第一个字符ASCII 码。   
None.gifAtn(number) 取得一个角度的反正切值。   
None.gifCallByName (
object , procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。   
None.gifCBool(expression) 转换表达式为Boolean 型态。   
None.gifCByte(expression) 转换表达式为Byte 型态。   
None.gifCChar(expression) 转换表达式为字符型态。   
None.gifCDate(expression) 转换表达式为Date 型态。   
None.gifCDbl(expression) 转换表达式为Double 型态。   
None.gifCDec(expression) 转换表达式为Decimal 型态。   
None.gifCInt(expression) 转换表达式为Integer 型态。   
None.gifCLng(expression) 转换表达式为Long 型态。   
None.gifCObj(expression) 转换表达式为Object 型态。   
None.gifCShort(expression) 转换表达式为Short 型态。   
None.gifCSng(expression) 转换表达式为Single 型态。   
None.gifCStr(expression) 转换表达式为String 型态。   
None.gifChoose (index, choice
- 1 [, choice - 2 dot.gif [, choice - n]]) 以索引值来选择并传回所设定的参数。   
None.gifChr(charcode) 以ASCII 码来取得字符内容。   
None.gifClose(filenumberlist) 结束使用Open 开启的档案。   
None.gifCos(number) 取得一个角度的余弦值。   
None.gifCtype(expression, typename) 转换表达式的型态。   
None.gifDateAdd(dateinterval, number, datetime) 对日期或时间作加减。   
None.gifDateDiff(dateinterval, date1, date2) 计算两个日期或时间间的差值。   
None.gifDatePart (dateinterval, date) 依接收的日期或时间参数传回年、月、日或时间。   
None.gifDateSerial(year, month, day) 将接收的参数合并为一个只有日期的Date 型态的数据。   
None.gifDateValue(datetime) 取得符合国别设定样式的日期值,并包含时间。  
None.gifDay(datetime) 依接收的日期参数传回日。   
None.gifEof(filenumber) 当抵达一个被开启的档案结尾时会传回True。   
None.gifExp(number) 依接收的参数传回e 的次方值。   
None.gifFileDateTime(pathname) 传回档案建立时的日期、时间。   
None.gifFileLen(pathname) 传回档案的长度,单位是Byte。   
None.gifFilter(sourcearray, match[, include[, compare]]) 搜寻字符串数组中的指定字符串,凡是数组元素中含有指定字符串,会将它们结合成新的字符串数组并传回。若是要传回不含指定字符串的数组元素,则include 参数设为False。compare 参数则是设定搜寻时是否区分大小写,此时只要给TextCompare 常数或1 即可。   
None.gifFix(number) 去掉参数的小数部分并传回。   
None.gifFormat(expression[, style[, firstdayofweek[, firstweekofyear]]]) 将日期、时间和数值资料转为每个国家都可以接受的格式。   
None.gifFormatCurrency(expression[,numdigitsafterdecimal [,includeleadingdigit]]) 将数值输出为金额型态。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。   
None.gifFormatDateTime(date[,namedformat]) 传回格式化的日期或时间数据。   
None.gifFormatNumber(expression[,numdigitsafterdecimal [,includeleadingdigit]]) 传回格式化的数值数据。Numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。   
None.gifFormatPercent(expression[,numdigitsafterdecimal [,includeleadingdigit]]) 传回转换为百分比格式的数值数据。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。   
None.gifGetAttr(filename) 传回档案或目录的属性值。   
None.gifHex(number) 将数值参数转换为16 进制值。   
None.gifHour(time) 传回时间的小时字段,型态是Integer。   
None.gifIif(expression, truepart, falsepart) 当表达式的传回值为True 时执行truepart 字段的程序,反之则执行falsepart 字段。   
None.gifInStr([start, ]string1, string2) 搜寻string2 参数设定的字符出现在字符串的第几个字符,start 为由第几个字符开始寻找,string1 为欲搜寻的字符串,string2 为欲搜寻的字符。   
None.gifInt(number) 传回小于或等于接收参数的最大整数值。   
None.gifIsArray(varname) 判断一个变量是否为数组型态,若为数组则传回True,反之则为False。  
None.gifIsDate(expression) 判断表达式内容是否为DateTime 型态,若是则传回True,反之则为False。   
None.gifIsDbNull(expression) 判断表达式内容是否为Null,若是则传回True,反之则为False。   
None.gifIsNumeric(expression) 判断表达式内容是否为数值型态,若是则传回True,反之则为False。   
None.gifJoin(sourcearray[, delimiter]) 将字符串数组合并唯一个字符串,delimiter 参数是设定在各个元素间加入新的字符串。   
None.gifLcase(
string ) 将字符串转换为小写字体。   
None.gifLeft(
string , length) 由字符串左边开始取得length 参数设定长度的字符。   
None.gifLen(
string ) 取得字符串的长度。   
None.gifLog(number) 取得数值的自然对数。   
None.gifLtrim(
string ) 去掉字符串的左边空白部分。   
None.gifMid(
string , start[, length]) 取出字符串中strat 参数设定的字符后length 长度的字符串,若length 参数没有设定,则取回start 以后全部的字符。   
None.gifMinute(time) 取得时间内容的分部分,型态为Integer。   
None.gifMkDir(path) 建立一个新的目录。   
None.gifMonth(date) 取得日期的月部分,型态为Integer。  
None.gifMonthName(month) 依接收的月份数值取得该月份的完整写法。   
None.gifNow() 取得目前的日期和时间。   
None.gifOct(number) 将数值参数转换为8 进制值。   
None.gifReplace(expression, find, replace) 将字符串中find 参数指定的字符串转换为replace 参数指定的字符串。   
None.gifRight(
string ,length) 由字符串右边开始取得length 参数设定长度的字符。   
None.gifRmDir(path) 移除一个空的目录。   
None.gifRnd() 取得介于0 到1 之间的小数,如果每次都要取得不同的值,使用前需加上Randomize 叙述。   
None.gifRtrim(
string ) 去掉字符串的右边空白部分。   
None.gifSecond(time) 取得时间内容的秒部分,型态为Integer。   
None.gifSign(number) 取得数值内容是正数或负数,正数传回1,负数传回
- 1 0  传回0。   
None.gifSin(number) 取得一个角度的正弦值。   
None.gifSpace(number) 取得number 参数设定的空白字符串。  
None.gifSplit(expression[, delimiter]) 以delimiter 参数设定的条件字符串来将字符串分割为字符串数组。   
None.gifSqrt(number) 取得一数值得平方根。   
None.gifStr(number) 将数字转为字符串后传回。   
None.gifStrReverse(expression) 取得字符串内容反转后的结果。   
None.gifTan(number) 取得某个角度的正切值。   
None.gifTimeOfDay() 取得目前不包含日期的时间。   
None.gifTimer() 取得由0:
00  到目前时间的秒数,型态为Double。   
None.gifTimeSerial(hour, minute, second) 将接收的参数合并为一个只有时间Date 型态的数据。   
None.gifTimaValue(time) 取得符合国别设定样式的时间值。   
None.gifToday() 取得今天不包含时间的日期。   
None.gifTrim(
string ) 去掉字符串开头和结尾的空白。   
None.gifTypeName(varname) 取得变量或对象的型态。   
None.gifUbound(arrayname[, dimension]) 取得数组的最终索引值,dimension 参数是指定取得第几维度的最终索引值。   
None.gifUcase(
string ) 将字符串转换为大写。   
None.gifVal(
string ) 将代表数字的字符串转换为数值型态,若字符串中含有非数字的内容则会将其去除后,合并为一数字。   
None.gifWeekday(date) 取的参数中的日期是一个星期的第几天,星期天为1、星期一为2、星期二为3 依此类推。   
None.gifWeekDayName(number) 依接收的参数取得星期的名称,可接收的参数为1 到7,星期天为1、星期一为2、星期二为3 依此类推。
None.gif
None.gif
None.gif 1 .字符串编码转换成字节编码的函数:G " !
None.gif
  System.Text.Encoding.Default.GetBytes(字符串变量); > Fl$ - Q *  p
None.gif  example:]c(WGX I;
>
None.gif  
byte [] bytes = System.Text.Encoding.Default.GetBytes(str);f * uR,NlyaA5
ExpandedBlockStart.gif  len
= bytes.Length;Nxm / v < 5 \Op {
ExpandedBlockEnd.gif
2.截取字符串函数:Ob}
,CFE & x
None.gif 字符串变量.SubString(参数1,参数2); 
// 参数1为左起开始位数,参数2为截取位数K=^/^mcJ
None.gif
  string  s1 = str.SubString( 0 , 2 );).npD0K[[
None.gif
3 .取得远程用户IP地址函数:ZW + ' 2*
None.gif
   string  user_ip = Request.ServerVaribles[ " REMOTE_ADDR " ].ToString();vt\oPu
None.gif
4 .越过代理服务器取得远程用户真实IP地址函数:3j, | vh * (
None.gif  
if (Request.ServerVaribles[ " HTTP_VIA " ] != null )olcZ & I ' =^Y
ExpandedBlockStart.gif
   {3E9<beKkt
InBlock.gif
string user_ip=Request.ServerVaribles["HTTP_X_FORWORDED_FOR"].ToString();`gwaHvK
ExpandedBlockEnd.gif  }
96 +
None.gif  elseBN
&
ExpandedBlockStart.gif  
{eqK*gG
InBlock.gif
string user_ip=Request.ServerVaribles["REMOTE_ADDR"].ToString();li&btt*
ExpandedBlockEnd.gif  }
ILm,gS
None.gif
5 .Session对象:TaJS06smh
None.gif  Session[
" 变量 " ];W,f ? 4 @rZ
None.gif  example:$0AXi6QSC
None.gif   赋值:Session[
" username " ] = " 萨达姆 " ; " Ct
None.gif
   取值:Object objName = Session[ " username " ];Iaq@ & :.)
None.gif String strName
= objName.ToString();EE7 / Q |
None.gif   清空: Session.RemoveAll();
89
None.gif
6 .把字符转化为字符编码的方法: | N) ' dY
None.gif
  ( int ) ' 字符 ' X0G ' X
None.gif
  如下:v ~ rvb ^ P ;
None.gif     Response.Write((
int ) ' ' );MPZ@`K8
None.gif    结果为:20013ZgsWz
None.gif
7 .把字符编码转化为字符的方法:)O$ &
None.gif  (
char )代码S]]
None.gif  如下:`Xsr}4Xv#
None.gifResponse.Write((
char ) 22269 );r@0c}y\
None.gif  结果为:
" " 字JJJ, > Zr / U
None.gif
8 .创建XML文档新节点函数:\ffmj ^& 9
None.gif  Doc对象.CreatElement(
" 新节点名称 " );$5Uh
None.gif
9 .字符串转换成整形的函数:e5Tv % ]n
None.gif   Int32.Parse(
" 字符串常量 " ); ? )NJwd " !4:&
None.gif
   Int32.Parse(字符串变量); 2 % s[H



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/11/18/279688.html,如需转载请自行联系原作者
相关文章
|
14天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
65 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
1月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
58 1
|
1月前
|
并行计算 安全 Java
C# .NET面试系列四:多线程
<h2>多线程 #### 1. 根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i > 10 时是否会引起死锁? 并简要说明理由。 ```c# public void test(int i) { lock(this) { if (i > 10) { i--; test(i); } } } ``` 在给定的代码中,不会发生死锁。死锁通常是由于两个或多个线程互相等待对方释放锁而无法继续执行的情况。在这个代码中,只有一个线程持有锁,且没有其他线程参与,因此不
102 3
|
3月前
|
Linux C# 开发工具
C#开源的一款友好的.NET SDK管理器
C#开源的一款友好的.NET SDK管理器
|
7天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
1月前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(持续更新)
C#/.NET/.NET Core拾遗补漏合集(持续更新)
|
1月前
|
SQL 存储 关系型数据库
C# .NET面试系列十:数据库概念知识
#### 1. 为什么要一定要设置主键? 设置主键是数据库设计中的一个重要概念,有几个主要原因: 1、唯一性 ```c# 主键必须保证表中的每一行都有唯一的标识。这样可以避免数据冗余和不一致性。如果没有主键或者主键不唯一,就可能出现数据混乱或错误。 ``` 2、查询性能 ```c# 数据库系统通常会使用主键来加速数据检索。主键通常会被索引,这样可以更快速地找到特定行的数据,提高查询效率。 ``` 3、关联性 ```c# 主键常常用于建立表与表之间的关系。在关系数据库中,一个表的主键通常与其他表中的外键建立关联,这种关系对于数据的一致性和完整性非常重要。 ``` 4、数据完
131 1
C# .NET面试系列十:数据库概念知识
|
1月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
174 2
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
61 0