我需要将这六个字段保存在同一列中,但不能保存在同一行和同一个单元格中。每个字段都有默认GUID。所以我决定将默认guid放在一个列表中,并将字段放在一个列表中,然后调用该特定列表中我们想要的那个对象。
ArrayList Alist = new ArrayList();
{
Alist.Add("FD713788-B5AE-49FF-8B2C-F311B9CB0CC4");
Alist.Add("64B512E7-46AE-4989-A049-A446118099C4");
Alist.Add("376D45C8-659D-4ACE-B249-CFBF4F231915");
Alist.Add("59A2449A-C5C6-45B5-AA00-F535D83AD48B");
Alist.Add("03ADA903-D09A-4F53-8B67-7347A08EDAB1");
Alist.Add("2F405521-06A0-427C-B9A3-56B8931CFC57");
}
ArrayList objValue = new ArrayList();
{
objValue.Add(viewmodel.TinNo);
objValue.Add(viewmodel.CstNo);
objValue.Add(viewmodel.PanNo);
objValue.Add(viewmodel.CinNo);
objValue.Add(viewmodel.ExciseRegNo);
objValue.Add(viewmodel.ServiceTaxNo);
}
var TaxInfoTaxFiledclassobj = new TaxInfoTaxFiled()
{
TaxInfoTaxFieldID = TaxInfoTaxFieldObj,
TaxFieldID = new Guid(Alist .ToString ()),
FieldValue = objValue.ToString(),
};
一切正常 但是在TaxFieldID中,它显示了从列表中计算出的计数,但保存时显示的是以下错误
我该怎么办?
答案 0 :(得分:2)
您正试图传递ArrayList
作为Guid。在这一行:
TaxFieldID = Guid.Parse(Alist.ToString())
您只需选择要解析的ArrayList
元素之一。此外,您可以使用List<Guid>
完全消除此问题。
List<Guid> guidList = new List<Guid>();
guidList.Add(new Guid("DDE4BA55-808E-479F-BE8B-72F69913442F"));
...
TaxFieldID = guidList[0]; // obviously, select the appropriate GUID
答案 1 :(得分:1)
Guid.Parse()
能够解析GUID。 Alist.ToString()
不应该是GUID。
修改强>
我想你正在寻找类似的东西 -
var listFiled = new List<TaxInfoTaxFiled>();
for(var item = 0; item < objValue.Count ; item++)
{
listFiled.Add(new TaxInfoTaxFiled
{
TaxInfoTaxFieldID = TaxInfoTaxFieldObj,
TaxFieldID = new Guid(Alist[item]),
FieldValue = objValue[item]
});
}
答案 2 :(得分:0)
AList
是一个数组,而不是Guid
。
您必须对Guid.Parse
AList
进行操作
像
这样的东西foreach(string g in AList)
{
Guid guid = Guid.Parse(g);
// Guid guid = new Guid(g) also works
}