1.重载:参数类型或者参数数量不同是重载的条件,方法名可以相同,好处在于调用方法时可以使用相同的名称
2.类型转换:(1)convert.To**() (2).float.Parse()
c# 3.数组 string[] str= new string[数组长度]; string[,] str= new string[,];//二维数组 string[][] str = new string[][];交错数组
4.click事件中e的用法很灵活
5.stringBuild字符串,用Append,clear操作
6.正则表达式 System.Text.RegularExpression命名空间 isMatch匹配字符串,string patter = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。 ,、?-]";匹配所有特殊字符
7.c#调试 messageBox弹出窗口,可以用来获取数值,
throw new ArgumentException()终止程序报错
8.委托 用delegate关键字声明委托,在.net 2.0之后的版本可以使用泛型委托Func和Action,声明之后,方法可以被当成参数传递,可以节省很多if....else....的空间
9.bug:由于缺少调试目标,无法开始调试。原项目的输出路径是外部的exe程序,我在新建一个窗口并添加了方法之后想要启动这个窗口调试程序,提示没有指向.exe程序,未解决,不直接调用类库输出,启动项设为webservice页
对IIS express路径的访问失败:权限不足,为IIS Express文件夹的安全属性添加everone全选控制权限
10.所有的引用都是用了绝对路径,导致程序的移植性降低
11.C# 报错无法复制文件 但是文件在路径下时存在的问题:
12.c#生成成功提示但是没有生成对应的dll文件:输出路径设置错误
13.{"给定编码中的字符无效。 第 5 行,位置 11。"}:xml.load();字符编码问题,先前使用UTF-8在解决中英文混用问题中不适用,将编码方式改成encoding="GB2312"解决
14.在 ServiceModel 客户端配置部分中,找不到引用协定“DYB_EDI_Service.WebServiceSoap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。
解决方法:
调用WCF的类库(即xxx.dll)会有一个app.config文件,把这个文件中的以下部分
<system.serviceModel>
省略
</system.serviceModel>
复制粘贴到主程序(EXE所在工程)的app.config文件中的<configuration></configuration>中。
15.ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决:
16. 连接oracle数据库,推送数据
StringBulider类型 List StringWriter stringWriter = new StringWriter();
data.TableName = Regex.Match(sqlStr, pattern).Value;
data.WriteXml(stringWriter);
stringBuilder.Append(stringWriter);
#region 类转list
/// <summary>
///
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static Dictionary<string, string> infoToList(object obj)
{
try
{
string pattern = "SelectvHis_\\w+";
oracleSqldictionary.Clear();
foreach (System.Reflection.PropertyInfo Info in obj.GetType().GetProperties())
{
if (Regex.IsMatch(Info.Name, pattern))
{
oracleSqldictionary.Add(Info.Name, Info.GetValue(obj, null).ToString());
}
}
//oracleSqlList.Sort();
return oracleSqldictionary;
}
catch (Exception ex)
{
oracleSqldictionary.Add(ex.StackTrace, "err:");
return oracleSqldictionary;
}
}
#endregion
17.oracle数据库字段转驼峰命名法
select replace(INITCAP(a.COLUMN_NAME),'_','') as COLUMN_NAME,INITCAP(b.comments) as comments,INITCAP(a.COLUMN_NAME) as ccc,
a.DATA_TYPE||case when a.DATA_TYPE<>'DATE' then '('||to_char(a.DATA_LENGTH)||')' else '' end as leix
from user_tab_cols a,USER_COL_COMMENTS b
where a.table_name=b.table_name and a.column_name=b.column_name
and a.table_name='C_DRUG_SORT' order by a.column_id