数组传参

今天说一下用数组进行传参,先是获取到需要的数据,接着就是赋值到数组里面进行保存。日期就是获取到当前的日期进行编辑保存,保存完了就可以进行传参了。下面是视图的代码。

$("#sure").click(function () {
            var CurrentTicketNumber = $("input[name='CurrentTicketNumber']").val();
            var StartTicketNumber = $("input[name='StartTicketNumber']").val();
            var BillType = $("select[name='BillType']").val();
            var Remarks = $("input[name='Remarks']").val();
            if (aaa != "" && bbb != "" && ccc != "" && ddd != "") {
             var sum = new Object();
             sum.CurrentTicketNumber = CurrentTicketNumber;
             sum.StartTicketNumber = StartTicketNumber;
             sum.BillType = BillType;
             sum.Remarks = Remarks;
             var now = new Date;
             var day = ("0" + now.getDate()).slice(-2);//格式化日,如果小于9,前面补0
             var month = ("0" + (now.getMonth() + 1)).slice(-2);//格式化月
             var today = now.getFullYear() + "-" + (month) + "-" + (day);//拼装完整日期
             sum.TicketingDate = today;
             $.post("NewBill", sum, function (data) { layer.msg(data.Text, { icon: 0 })
                    if (data.State == true) {
                        tableReload();         $("#modal").hide();
                        $("input[type='reset']").click();
                    }
                })
            }
        })

接着就到了控制器的代码了,参数可以用表的形式一并接收,也可以用单个的具体的参数接收,只要参数名能对上就是可以的。

public ActionResult NewBill(R_Bill Bill){
            ReturnJson returnJson = new ReturnJson();
          try {
                var bill = (from tb in myModuls.R_Bill
                            where tb.TicketingDate == Bill.TicketingDate
                            select tb).Count();
                if (bill==0){
                    myModuls.R_Bill.Add(Bill);
                    if (myModuls.SaveChanges()>0){
                        returnJson.State = true;
                        returnJson.Text = "成功入库";
                    }
                }else{
                    returnJson.State = false;
                    returnJson.Text = "该时间已经有数据入库,请稍后...";
                }
            }catch (Exception){
                returnJson.State = false;
                returnJson.Text = "数据异常";
            }
            return Json(returnJson, JsonRequestBehavior.AllowGet);
        }

控制只做了简单的判断,确保在该入库的时间内不重复就好了,代码到这里就可以说是完整的了。接着看一下效果图。第一张是新增的内容,第二张是新增后查询出来的。用的就是数组的方法。
在这里插入图片描述
在这里插入图片描述

### 数组传参 在程序设计中,当需要将数据集合作为一个整体递给函数或方法时,通常会采用数组作为参数。数组传参的方式主要有两种: #### 1. **值复制传参** 这种方式下,当你将数组作为参数递时,实际上只是递了一个指向数组首元素的引用,并不会创建一个新的副本。因此,对递过来的数组进行修改会影响到原始数组的数据。 例如,在C++中,函数定义可能如下所示: ```cpp void modifyArray(int arr[], int n) { // 对数组arr进行操作 } ``` 若在主函数中数组`int myArr[] = {1, 2, 3};`并调用上述函数,则原数组`myArr`会被修改。 #### 2. **指针传参** 另一种常见的情况是通过递指针来处理数组。在这种情况下,你递的是数组的起始地址。这种方式允许更高效地访问数组元素,尤其对于大型数组而言。 例如,在C语言中: ```c void processArray(int *arr, int size) { for (int i = 0; i < size; ++i) { // 处理每个元素 } } ``` 在这个例子中,`processArray`函数可以安全地遍历整个数组而不改变其内容。 ### 数组输出格式 数组输出通常涉及打印数组的内容到控制台或其他输出设备。这通常是通过循环遍历数组元素完成的。在大多数编程语言中,你可以使用基本的循环结构(如for循环、while循环等)结合数组索引来实现这一目的。 **示例代码**(假设使用Python): ```python def print_array(arr): # 输出数组内容 for element in arr: print(element) # 定义一个数组 numbers = [1, 2, 3, 4, 5] # 调用函数打印数组 print_array(numbers) ``` 这段代码展示了如何使用`for`循环来迭代数组中的每个元素,并将其打印出来。 --- ## 相关问题: 1. **在何种场景下应该优先选择值复制传参而非指针传参?** - 当你需要保证原数组不受改动并且不想增加内存消耗时,应选择值复制传参。 2. **如何优化大型数组的性能?** - 使用指针传参可以提高性能,因为它们不需要额外的空间开销。此外,避免频繁的数组复制操作也能提升效率。 3. **在处理动态数组大小时,应当注意哪些事项?** - 确保在函数内部正确管理数组的大小,尤其是在向数组添加新元素时,防止数组越界错误。合理使用扩容机制(如自动增长的数组或堆分配空间),以及在结束操作前释放不再使用的内存资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值