问题解答集

目录

问题解答集目录    1

问题解答:    4

1. 怎样将string类型向Boolean转换的方法    4

2. 怎样获取xml属性名称    4

3. 数据库及sql语句中关键字的使用    4

4. 怎样使用sql语句插入bit型数据    4

5. String类和StringBuilder类方法    5

6. StringStringBuilder的区别    5

7.如何用XSD文件验证XML文档格式的方法    5

8.在使用Stream读取写入文件的时候,如何处理文本格式的问题?    6

9.如何TreeView控件的使用    6

10.如何获取路径下所有文件和文件夹    7

11. 如何动态添加自定义的tabpage    7

问题解答:

  1. 怎样将string类型向Boolean转换的方法

    将string型变量转换成Boolean型变量的方法,使用Convert.toBoolean(string)方法。

 

  1. 怎样获取xml属性名称

    将数据以XML文档的形式存储,若一个元素中有多个属性,可以使用XmlTextReader.MoveToNextAttribute() 函数或者XmlTextReader.MoveToAttribute() 跳转到该节点的下一属性或指定位置的属性上,再使用XmlTextReader.Name获取该属性名。(XmlTextReader类可以替换成其他对xml文档进行操作的类)

     

  2. 数据库及sql语句中关键字的使用

    在数据库中,为避免列名字段和以用关键字冲突,可以在可能会发生冲突的字段上加[ ]符号,例如列名[Default]。同时,再写sql语句时涉及到列名时最好都加上[ ]为避免语句出错(如果列名没有加[ ]而sql语句中加上了,也不会有错)

     

  3. 怎样使用sql语句插入bit型数据

    写sql语句插入bit型的数据时,插入0或1,若值为true,插入1,若值为false,插入0.

     

5. String类和StringBuilder类方法

String.Format()方法在进行字符串的格式化时是非常有用的,有时虽然逻辑上是由str+=的方法比较简单,但是格式比较凌乱,给读者带来较大的麻烦,也为后期维护带来不便,并且这种方法看似简单实则要消耗大量资源。String.Format("{0}...",...)方法类似一个模板,可以向里面填充各种数据类型的变量。StringBuilder.Append(),StringBuilder.AppendFormat()方法也是非常有用的方法,另外,还有一些方法,有待实际操作中熟练使用。值得注意的一点是,在对String类或StringBuilder类的对象进行插入、删除、替操作的时候,并不是在原来的对象上进行直接修改,所以要将修改后的结果付给一个新的变量,该变量是修改后的结果,原来的对象保持不变。

6. String和StringBuilder的区别

String提供了更多的操作方法,但是在操作性能和内存效率方面,StringBuilder要比String好得多。所以,如果应用对于系统性能、内存要求比较严格,以及经常处理大规模的字符串,推荐使用StringBuilder对象;否则,可以选择使用String。

7.如何用XSD文件验证XML文档格式的方法

首先要有相应的.xsd文件与.xml对应(可以DataSet生成.xsd文件,例如:DataSet ds=newDataSet();ds.ReadXml(filename1);ds.WriteXmlSchema(filename2))。之后键入以下代码:

XmlSchemaCollection myXmlSchemaCollection = new XmlSchemaCollection();

myXmlSchemaCollection.ValidationEventHandler+=new ValidationEventHandler(ValidationCallBack);

myXmlSchemaCollection.Add(null , "FullData.xsd");

 

XmlTextReader myXmlTextReader = new XmlTextReader(@"C:\Documents and Settings\MichaelGates\桌面\FullData.xml");

XmlValidatingReader myXmlValidatingReader = new XmlValidatingReader(myXmlTextReader);

 

myXmlValidatingReader.ValidationType = ValidationType.Schema;

myXmlValidatingReader.Schemas.Add(myXmlSchemaCollection);

myXmlValidatingReader.ValidationEventHandler+=new ValidationEventHandler(ValidationCallBack);//事件委托

while(myXmlValidatingReader.Read());

Console.WriteLine("Validation finished");

 

private static void ValidationCallBack(object sender, ValidationEventArgs e)

{

    //执行某些操作,要显示相关错误信息,使用e,例如e.Message

}

8.在使用Stream读取写入文件的时候,如何处理文本格式的问题?

在使用Stream流读取文件时,存在不同文件使用格式不同的问题,默认情况下时ANSI格式的文本,这时使用其它格式流读取或写入就会出现问题,如使用UTF-8读取,虽然可以判断文本格式类型进行相应的读取、写入操作,但是相对比较繁琐,可以使用System.Encoding.Defualt类型,及GB2312进行操作,即可以操作ANSI格式的文本也可以操作UTF-8的文本

StreamReaderfr=new StreamReader(this.txtFilePath.Text,System.Text.Encoding.Default);

9.如何TreeView控件的使用

在Windows Form程序中可以使用TreeView控件实现类似资源浏览器的效果。在TreeView控件中有_BeforeExpand()函数可以在点击树形结构折叠时被触发,_AfterSelect()事件可以在节点被选中后被触发。(注意:添加的类型必须是节点类型,所以需要将文件和文件夹信息转换成节点类型)。

10.如何获取路径下所有文件和文件夹

System.IO.DirectoryInfo类可以获得路径下的所有文件和文件夹信息,DirectoryInfo dir=new DirectoryInfo(path);DirectoryInfo[] e=dir.GetDirectories()将路径下所有文件夹节点存入数组中;FileInfo[] fileList=dir.GetFiles()方法将路径下所有的文件节点存入数组中,利用数组进行后面操作,例如将数组中的信息添加到TreeView中。

  1. 如何动态添加自定义的tabpage

    动态在tabcontrol中添加tabpage并不难做到,只需使用使用tabControl..Controls.Add(new TabPage())就可以轻松实现,但是新建的tabpage是个空白的,如何才能在新建的tabpage中显示大家希望添加的空间并且实现相应的事件呢?首先,我们要新建一个新的TabPage类,让他继承System.Window.TabPage父类,在这个类中,我们只能手写代码而不能用鼠标拖拽控件,所以,尽量将控件添加到一个Form中,在其中添加相应的事件,再在TabPage中将这个Form当作一个控件添加进去,具体实现代码如下:

    TopicForm = new page(this.path); //TopicForm为用户自定义的Form,在下面将被当作控件添加到TabPage中

    TopicForm.TopLevel = false;

    this.Controls.Add(TopicForm);

        TopicForm.Location = new System.Drawing.Point(0, 0);

    TopicForm.Dock = DockStyle.Fill;

    TopicForm.Size = new System.Drawing.Size(this.Width, this.Height);

    TopicForm.Visible = true;

    这样在动态创建新的tabPage时只要new 新的TabPage类得到实例就可以实现添加想要的tabPage了。

原文地址:https://www.cnblogs.com/lexus/p/977351.html