Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中显示列表中的数据#_C#_Database_List - Fatal编程技术网

C# 在C中显示列表中的数据#

C# 在C中显示列表中的数据#,c#,database,list,C#,Database,List,当列表结果为=到1时,我想显示从列表中获得的数据。我需要获取文件名、标题和热点 有人能帮我吗?我需要帮助的部分在代码的末尾 代码如下: private void PerformSheetLink(String hotspotID, Int32 fileRec) { string nomenclature = dataLayer.GetNomenclature(fileRec, hotspotID); string pattern = @"\((?&

当列表结果为=到1时,我想显示从列表中获得的数据。我需要获取
文件名
标题
热点

有人能帮我吗?我需要帮助的部分在代码的末尾

代码如下:

    private void PerformSheetLink(String hotspotID, Int32 fileRec)
    {
        string nomenclature = dataLayer.GetNomenclature(fileRec, hotspotID);
        string pattern = @"\((?<ProjectRec>\d+(?:_)?\d*?)*\,(?<FileName>[^,]*)\,(?<HotspotID>[^)]*)\)";
        Regex regex = new Regex(pattern, RegexOptions.Compiled);
        Match m = regex.Match(nomenclature);

        //Multiple numenclature exist           
        if (regex.Matches(nomenclature).Count > 1)
        {
            List<P2Trace> linkList = new List<P2Trace>();
            string fileName, hotspot, title;                
            MatchCollection mc = regex.Matches(nomenclature);
            foreach (Match match in mc)
            {
                //This match has a Single Project
                GroupCollection gc = match.Groups;
                if (gc["ProjectRec"].Captures.Count == 1)
                {
                    if ((int)cbModel.SelectedValue == Int32.Parse(gc["ProjectRec"].Value))
                    {
                        fileName = String.Format("{0}.cgm", gc["FileName"].Value);
                        title = dataLayer.GetSheetTitle(fileName);
                        hotspot = FixHotspotID(gc["HotspotID"].Value);
                        linkList.Add(new P2Trace { FileName = fileName, HotspotID = hotspot, Title = title });
                    }
                }
                else
                {
                    //This match has Multiple Projects 
                    List<Int32> pRecs = GetProjectRecsInList(gc["ProjectRec"].Captures);
                    if (pRecs.Contains((int)cbModel.SelectedValue))
                    {
                        foreach (Int32 projectRecNo in pRecs)
                        {
                            if (projectRecNo == (int)cbModel.SelectedValue)
                            {
                                fileName = String.Format("{0}.cgm", gc["FileName"].Value);
                                title = dataLayer.GetSheetTitle(fileName);
                                hotspot = FixHotspotID(gc["HotspotID"].Value);
                                linkList.Add(new P2Trace { FileName = fileName, HotspotID = hotspot, Title = title });
                            }
                        }
                    }
                }
            }
            //Link found and collected, perform jump
            if (linkList.Count == 1)
            {
               p2Trace.FileName = linkList. ?????
               p2Trace.Title = linkList. ??????
               p2Trace.HotspotID= linkList. ??????
               jumpTo(p2Trace.FileName, p2Trace.Titel, p2Trace.HotspotID);

            }
private void PerformSheetLink(字符串热点,Int32 fileRec)
{
字符串命名法=dataLayer.getNomenclation(fileRec,hospotid);
字符串模式=@“\((?\d+(?:\)\d*?)*\,(?[^,]*)\,(?[^)]*)\”;
Regex Regex=newregex(模式,RegexOptions.Compiled);
匹配m=正则匹配(术语);
//存在多个NUMENCATURE
if(正则表达式匹配(命名法).Count>1)
{
List linkList=新列表();
字符串文件名、热点、标题;
MatchCollection mc=正则表达式匹配(术语);
foreach(在mc中匹配)
{
//这场比赛只有一个项目
GroupCollection gc=match.Groups;
如果(gc[“ProjectRec”].Captures.Count==1)
{
if((int)cbModel.SelectedValue==Int32.Parse(gc[“ProjectRec”].Value))
{
fileName=String.Format(“{0}.cgm”,gc[“fileName”].Value);
title=dataLayer.GetSheetTitle(文件名);
热点=固定热点(gc[“热点”].值);
添加(新的P2Trace{FileName=FileName,hospotid=hospot,Title=Title});
}
}
其他的
{
//这场比赛有多个项目
List pRecs=GetProjectRecsInList(gc[“ProjectRec”].Captures);
if(预含((int)cbModel.SelectedValue))
{
foreach(pRecs中的Int32 projectRecNo)
{
如果(projectRecNo==(int)cbModel.SelectedValue)
{
fileName=String.Format(“{0}.cgm”,gc[“fileName”].Value);
title=dataLayer.GetSheetTitle(文件名);
热点=固定热点(gc[“热点”].值);
添加(新的P2Trace{FileName=FileName,hospotid=hospot,Title=Title});
}
}
}
}
}
//找到并收集链接,执行跳转
如果(linkList.Count==1)
{
p2Trace.FileName=链接列表?????
p2Trace.Title=链接列表??????
p2Trace.HotspotID=链接列表??????
跳转到(p2Trace.FileName、p2Trace.Titel、p2Trace.hospotid);
}
试试这个

    if (linkList.Count == 1)
    {
var firstItem = linkList[0];
       p2Trace.FileName = firstItem.FileName;
       p2Trace.Title = firstItem.Title;
       p2Trace.HotspotID= firstItem.HostspotID;
       jumpTo(p2Trace.FileName, p2Trace.Titel, p2Trace.HotspotID);

    }

如果只找到一个匹配项,您是否打算只调用
跳转到
?如果找到两个匹配项,会发生什么?我已经处理好了那部分,我只是没有发布代码。谢谢您的帮助
p2Trace.FileName = linkList[0].FileName;
p2Trace.Title = linkList[0].Title;
p2Trace.HotspotID = linkList[0].HotspotID;