c#如何遍历一个list将值传到数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何遍历一个list将值传到数组相关的知识,希望对你有一定的参考价值。

直接调用list的CopyTo方法就行了
List<string> strings;
strings.Add(...)
......
string[] array = new string[strings.Count];
strings.CopyTo(array) //这里可以用另一个重载指定从数组索引处开始复制元素
参考技术A List<int> list = 1,2,3,4,5;
// 转换成数组
int[] a = list.ToArray();

参考技术B 不用函数的话,你用for循环
for(int i=0;i<list.Count;i++)

num[i]=list[i];

如何将c#中的List转换为javascript中的数组并检查数组项

【中文标题】如何将c#中的List转换为javascript中的数组并检查数组项【英文标题】:How to convert List in c# to array in javascript and check the array item 【发布时间】:2014-09-12 17:17:49 【问题描述】:

我有模型列表和数据库中的项目。我想将项目放入 java 脚本中的数组。然后当我将值放入文本框中并单击按钮时,系统会从数组中检查值是否存在于数组中

当我尝试这段代码时,它不起作用。有什么想法或建议吗?

型号:

public List<string> listponumber  get; set; 

public void getlist()
        
            var listpo = new List<string>();
            SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
            connection.Open();

            SqlCommand cmdponumber = new SqlCommand("Select DISTINCT ponumber From t_transaction ORDER BY ponumber", connection);

            SqlDataReader rdr = cmdponumber.ExecuteReader();
            while (rdr.Read())
            
                listpo.Add(rdr.GetString(0).ToString());
            

            connection.Close();
            listponumber = new List<string>(listpo);
        

查看:

<script type="text/javascript">

    $(document).ready(function () 

        $("#btntest").click(function () 
            var ponumber = [@Model.listponumber]
            var txtvalues = document.getElementByID("textbox").value;
            if (ponumber.indexOf(txtvalues) > -1 ) 
                alert('Array');
             else  
              alert('not array');
            
        );
</script>

【问题讨论】:

可能想看看这个问题***.com/questions/6777385/…,因为它讨论了基本相同的事情(尽管使用日期而不是字符串 - 但概念是相同的) @Tim thx 回复,我尝试了但不工作,当我调用它时出现语法错误 var activeDates = @Html.Raw(Json.Encode(Model.ActiveDates)); 如果listponumber是你模型中的属性名,那么它需要是@Html.Raw(Json.Encode(Model.listponumber)) @stephen 是的,我使用它,但是当我用“;”关闭时语法错误 【参考方案1】:

您可以使用以下方法将 C# 列表转换为 Javascript 数组

<script>
    var javascriptArray = @Html.Raw(Json.Encode(Model.ListToConvertToJavascript));
</script>

这将创建一个 Json 对象,其中包含模型中列表中的数据,您将能够使用纯 Javascript 对其进行迭代。

您可能遇到的语法错误是 IDE 告诉您您正在使用 Javascript 解析器无法理解的语法,即 RAZR 语句 @Html(...);你可以忽略它。

使用以下方法进行测试:

for(int i = 0; i < $(javascriptArray).lenght; i++)
    alert(javascriptArray[i]);

或者打开您的浏览器开发者控制台并输入您正在创建的数组的名称以查看它是否由您的模型列表数据填充。

【讨论】:

确保在 Json.Encode(Model.ListToConvertToJavascript)... 之后在模型中使用相同的列表名称...其中 ListToConvertToJavascript 是您的列表名称:listponumber @putra1908 javascript 希望您将代码的 @html.raw(...) 部分包含在 '' 中以将其视为字符串,但这样做您将无法将 ponumber 作为数组进行迭代。然后它将变成一个字符串,当您尝试使用它时,javascript 会尝试解析它。

以上是关于c#如何遍历一个list将值传到数组的主要内容,如果未能解决你的问题,请参考以下文章

C# 如何遍历一个解决方案中的所有窗体(高手指教)

c#怎么遍历dictionary

c# for循环效率问题,遍历list<string>集合;

C#中如何用for循环遍历List<类>?

javascript怎么遍历后台request传过来的List对象

iOS数组遍历删除问题