在创建新的xml文件时,如何正确地构建文件或以最佳方式.通过结构,在这种情况下可能不是最好的词,我的意思是如何在制作元素或元素属性之间做出选择.例如,如果我创建一个包含人员列表的Person.xml文件,那么最好是这样做:
<Person>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Age>23</Age>
</Person>
Run Code Online (Sandbox Code Playgroud)
或者做这样的事情还是做得更好?
<Person FirstName="John" LastName="Doe" Age="23"></Person>
Run Code Online (Sandbox Code Playgroud) 我有两个ListBox,lstAvailableColors和lstSelectedColors.每个列表框之间有两个按钮,添加和删除.当在lstAvailableColors中选择一种或多种颜色并单击"添加"按钮时,我想从lstAvailableColors中删除它们并将它们显示在lstSelectedColors中.此外,如果在lstSelectedColors中选择了颜色并单击了"删除"按钮,我想从lstSelectedColors中删除颜色并将它们添加回lstAvailableColors.当我这样做时,我删除项目时出现以下错误:
收集被修改; 枚举操作可能无法执行.
以下是"添加"按钮和"删除"按钮的代码:
加:
protected void btnAdd_Click(object sender, EventArgs e)
{
foreach (ListItem item in lstAvailableColors.Items)
{
if (item.Selected)
{
lstSelectedColors.Items.Add(item);
lstAvailableColors.Items.Remove(item);
}
}
}
Run Code Online (Sandbox Code Playgroud)
去掉:
protected void btnRemove_Click(object sender, EventArgs e)
{
foreach (ListItem item in lstSelectedColors.Items)
{
if (item.Selected)
{
lstAvailableColors.Items.Add(item);
lstSelectedColors.Items.Remove(item);
}
}
}
Run Code Online (Sandbox Code Playgroud) 假设我有一个名为A的列,并且我想检查A是否为空或空白,使用DataView的RowFilter检查这个的正确方法是什么:
DataTable dt = GetData();
DataView dv = new DataView(dt);
dv.RowFilter = "A IS NOT NULL OR A IS NOT ''";
Run Code Online (Sandbox Code Playgroud)
以上似乎不起作用.
我不太明白为什么客户端验证是一个潜在的安全风险或更多的安全风险而不是服务器端验证?有人可以给我一些场景吗?
我有一个方法,它采用存储过程名称和Microsoft.VisualBasic.Collection?我正在引用一个vb项目,我必须将一个集合传递给这个方法,但是我当前的项目是在c#中,所以我不清楚我可以传递给方法的是什么?
这是vb调用:
public void CallStoredProc(string spName, Microsoft.VisualBasic.Collection params);
Run Code Online (Sandbox Code Playgroud)
在我的c#app中,我需要在适当的c#对象中调用它来传递params.
我有一堆系统,让我们打电话给他们A, B, C, D, E, F, G, H, I, J.
它们都有类似的方法和属性.有些包含完全相同的方法和属性,有些可能略有不同,有些可能会有很大差异.现在,我为每个系统都有很多重复的代码.例如,我有一个GetPropertyInformation()为每个系统定义的方法.我试图找出哪种方法是减少重复代码的最佳方法,或者下面的方法之一不是要走的路:
接口
public Interface ISystem
{
public void GetPropertyInformation();
//Other methods to implement
}
public class A : ISystem
{
public void GetPropertyInformation()
{
//Code here
}
}
Run Code Online (Sandbox Code Playgroud)
抽象
public abstract class System
{
public virtual void GetPropertyInformation()
{
//Standard Code here
}
}
public class B : System
{
public override void GetPropertyInformation()
{
//B specific code here
}
}
Run Code Online (Sandbox Code Playgroud)
超级基类中的虚方法
public class System
{ …Run Code Online (Sandbox Code Playgroud) 我试图在Post-Build事件中使用带有OR的条件,但到目前为止,我没有运气.以下不起作用:
if not "$(ConfigurationName)" == "Debug" or not "$(ConfigurationName)" == "Release" (
但这有效:
if not "$(ConfigurationName)" == "Debug" (
对于第一个,我得到一个存在的代码4.
我有一个看起来像这样的表:
Number | Name
--------+--------
123 | Robert
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的:
如果数字已在数据库中,请不要插入新记录.
如果数字不在数据库中,但名称是,则创建一个新名称并插入它.所以例如,如果我有一个包含123for Number和Bobfor 的记录Name,我不想插入它,但如果我得到一个包含456for Number和Robertfor 的记录name,我会插入456和Robert1.我打算单独检查重复项:
SELECT * FROM Person where Number = 123;
//If number is not found
SELECT * FROM Person where Name = 'Robert';
//If name is found, add a number to it.
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将这两种说法结合起来?
我有一个方法,通过7,753+对象使用循环并获取每个对象的每个属性的值.每个对象都有14属性.
private void InitializeData(IList objects, PropertyInfo[] props, List<DPV> dataPs, List<Dictionary<string, object>> tod)
{
foreach (var item in objects)
{
var kvp = new Dictionary<string, object>();
foreach (var p in props)
{
var dataPs = dataPs.FirstOrDefault(x => x.Name == p.Name);
object returnData;
if (dataPoint != null)
{
int maxLength = (dataP.MaxLength == null) ? 0 : (int) dataP.MaxLength;
returnData = p.GetValue(item, null);
if (!string.IsNullOrEmpty(dataP.FormatString) && !string.IsNullOrEmpty(returnData.ToString()))
{
returnData = FormatDataForDisplay(returnData, dataP, maxLength, "", 8);
}
}
else …Run Code Online (Sandbox Code Playgroud) c# ×5
.net ×1
asp.net ×1
asp.net-3.5 ×1
css ×1
dataview ×1
html ×1
ienumerable ×1
interface ×1
mysql ×1
oop ×1
reflection ×1
sql ×1
validation ×1
vb.net ×1
xml ×1