c# 8 에서 부터 지원되는 문법으로 아래처럼 사용할 수 있다.

int[] arr = { 1, 2, 3, 4 };
var lastIndex = new Index(1, true);
int lastNum = arr[lastIndex]; // 4
lastNum = arr[^1]; // 위 코드와 동일
nt[] arr = { 1, 2, 3, 4 };
Range range = 1..^1;
var sub = arr[range]; // [2, 3]
sub = arr[1..^1]; // 위 코드와 동일
var sub2 = arr[1..]; // [2, 3, 4]
var sub3 = arr[..3]; // [1, 2, 3]
var sub4 = arr[..]; // [1, 2, 3, 4]
string s = "Hello, World!"[..^8]; // "Hello"

 

파이썬과 동일하게.. 이건머.. 하는 짓? 이지?;;;

 

'C#.NET > C#' 카테고리의 다른 글

Index, Range, hat('^')  (0) 2019.02.22
!!0[] System.Array.Empty() 에러  (0) 2019.01.17
Visual Studio 에서 Docker 로 디버깅하기 - 콘솔앱  (0) 2018.11.04
compile c# online  (0) 2018.10.01
[C#)네이버 카페 API 이용하여 사진 포함 글 등록하기  (0) 2018.09.26
[C#]TensorCamera  (0) 2018.09.01

// selectPath : SQLite DB 파일 백업 폴더 위치

Java.IO.File sd = new Java.IO.File(selectPath);

// 폴더가 존재하지 않으면 만든다.

if (!sd.Exists())
{
    sd.Mkdirs();
}

Java.IO.File data = Android.OS.Environment.DataDirectory;
// System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);


FileChannel source = null;
FileChannel destination = null;

//  data 가 두번 붙는거 방지 (안드로이드 버전에 따라 다르게 나오는 부분 처리)

List<string> pathList = Constant.DBPath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries).ToList();

if (pathList[0] == "data")
{
    pathList.RemoveAt(0);
}

string path = string.Join("/", pathList);

string currentDBPath = path;

string backupDBPath = "test.db";
Java.IO.File currentDB = new Java.IO.File(data, currentDBPath);
Java.IO.File backupDB = new Java.IO.File(sd, backupDBPath);
try
{
    source = new FileInputStream(currentDB).Channel;
    destination = new FileOutputStream(backupDB).Channel;
    destination.TransferFrom(source, 0, source.Size());
    source.Close();
    destination.Close();
    Toast.MakeText(this, "백업 완료! - " + backupDB.Path, ToastLength.Long).Show();
}
catch (Java.Lang.Exception ex)
{
    ex.PrintStackTrace();
}

 

private void exportDB(){
File sd = Environment.getExternalStorageDirectory();
      File data = Environment.getDataDirectory();
       FileChannel source=null;
       FileChannel destination=null;
       String currentDBPath = "/data/"+ "com.authorwjf.sqliteexport" +"/databases/"+DB_NAME;
       String backupDBPath = DB_NAME;
       File currentDB = new File(data, currentDBPath);
       File backupDB = new File(sd, backupDBPath);
       try {
            source = new FileInputStream(currentDB).getChannel();
            destination = new FileOutputStream(backupDB).getChannel();
            destination.transferFrom(source, 0, source.size());
            source.close();
            destination.close();
            Toast.makeText(this, "DB Exported!", Toast.LENGTH_LONG).show();
        } catch(IOException e) {
        e.printStackTrace();
        }
}

'Andorid' 카테고리의 다른 글

Export SQLite DB  (0) 2019.02.22
Android Emulators  (0) 2018.03.02
Android 에서 각종 아이콘이 표시 결과 확인하기  (0) 2017.12.30
Google Play 게임 만들때 읽어야할 글  (0) 2017.12.24
google-play-services(libproject)  (0) 2017.12.08
FCM 과 GCM 차이? - 펌  (0) 2017.11.25

+ Recent posts

티스토리 툴바