यह C# ASPNET में एक datatable है

    DataTable dt = new DataTable();
    dt.Columns.Add("p_int", typeof(string));
    dt.Columns.Add("p_uni", typeof(string));

    dt.Rows.Add(new object[] { "0", "seat" });
    dt.Rows.Add(new object[] { "1", "X400" });
    dt.Rows.Add(new object[] { "4", "X400" });
    dt.Rows.Add(new object[] { "2", "X400" });
    dt.Rows.Add(new object[] { "2", "X4SVR" });
    dt.Rows.Add(new object[] { "3", "X400" });

डेटाटेबल के मूल्यों के साथ मैंने दो अलग-अलग List<string> संकलित किए हैं

    List<string> StringA = new List<string> { string.Join(", ", dt.AsEnumerable().Select(x => x.Field<string>("p_int")).Distinct()) };
    List<string> StringB = new List<string> { string.Join(", ", dt.AsEnumerable().Select(z => z.Field<string>("p_uni")).Distinct()) };

मुझे List<string> StringB से मूल्य X4SVR निकालने की आवश्यकता है और कोशिश की

    var lb = StringB.FirstOrDefault(x => x.Contains("X4SVR"));
    Response.Write(lb.ToString() + "<br /><br />");

    var result = StringB.Where(x => x.Contains("X4SVR")).FirstOrDefault();
    Response.Write(result.ToString() + "<br /><br />");

    var content = StringB.FirstOrDefault(x => x.Contains("X4SVR")) ?? StringB.FirstOrDefault();
    Response.Write(content.ToString() + "<br /><br />");

    string ls_SearchVal = "X4SVR";
    var lobj_Result = StringB.All(o => o.Contains(ls_SearchVal));
    Response.Write(lobj_Result.ToString() + "<br /><br />");

    var value = StringB.Find(item => item.Contains("X4SVR")).ToString();
    Response.Write(value.ToString() + "<br /><br />");

रिटर्न कभी भी केवल X4SVR मूल्य नहीं है बल्कि हैं

seat, X400, X4SVR

seat, X400, X4SVR

seat, X400, X4SVR

True

seat, X400, X4SVR

यह रिटर्न केवल मूल्य X4SVR के साथ कैसे प्राप्त करें?

0
Iter Lsic Iealf 15 अक्टूबर 2020, 20:08

2 जवाब

सबसे बढ़िया उत्तर

यह समझ में नहीं आता है कि आप पहले से पूछताछ कर रहे मूल्य को वापस क्यों करते हैं, लेकिन:

var value = dt.AsEnumerable().Select(z => z.Field<string>("p_uni")).FirstOrDefault(s => s.Contains("X4SVR"));
1
Cetin Basoz 15 अक्टूबर 2020, 20:18

ऐसा इसलिए है क्योंकि आपकी दोनों सूचियों में केवल एक तत्व (शामिल तारों का) है।

इस उद्देश्य के लिए string.Join() का प्रयोग न करें। इसके बजाय, आप कुछ ऐसा चाहते हैं:

var StringA = dt.AsEnumerable().Select(x => x.Field<string>("p_int")).Distinct().ToList();
var StringB = dt.AsEnumerable().Select(z => z.Field<string>("p_uni")).Distinct().ToList();

फिर, आप निम्न का उपयोग करके अपना मूल्य प्राप्त कर सकते हैं:

var lb = StringB.FirstOrDefault(x => x.Contains("someString"));
1
41686d6564 15 अक्टूबर 2020, 20:16